pku 2081

//純粹暴力AC,必須記住大數組一定要開成全局變量,因爲函數裏面的定義的變量都是放在棧堆中,太大會溢出即stack overflow
#include<iostream>
#include<string.h>
using namespace std;
int arr[500001];
bool used[3012500];
int main()
{
    int n;
    arr[0] = 0;
    memset(used,0,sizeof(used));
    used[0] = 1;
    for(int i = 1;i <= 500000;++i)
    {
        if(arr[i-1] - i > 0 && !used[arr[i-1]-i])
        {
            arr[i] = arr[i-1] - i;
            used[arr[i]] = 1;
        }
        else
        {
            arr[i] = arr[i-1] + i;
            used[arr[i]] = 1;
        }
    }
    while(cin >> n)
    {
        if(n == -1) return 0;
        cout << arr[n] << endl;
    }
    return 0;
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章