poj2081

来源:互联网 发布:小米6网络制式 编辑:程序博客网 时间:2024/06/05 19:45

这题记录数据是否存(u[])在的大小我是试出来的,最后确定为7*maxlen

#include<iostream>#include<fstream>using namespace std;#define maxlen 500001long long a[maxlen];int u[7*maxlen];int main(){    //freopen("1.txt","r",stdin);    a[0]=0;    u[0]=1;    for(int i=1;i<maxlen;++i){            //cout<<i<<endl;        long long val=a[i-1]-i;        if(val>0&&u[val]==0){            a[i]=val;            u[val]=1;        }else{            a[i]=a[i-1]+i;            u[a[i]]=1;        }    }    int k;    while(scanf("%d",&k)&&k!=-1){        printf("%d\n",a[k]);    }    return 0;}


0 0
原创粉丝点击