HDOJ 2132
花了3个多小时,这么简单地题目才AC,使用cin会超时,只能用scanf。始终想不通为什么内部循环得用__int64才能AC,用long long是WA,真郁闷,快被郁闷死了!贴上自己的代码:
1 #include<stdio.h> 2 #include<malloc.h> 3 #include<string.h> 4 5 int main() 6 { 7 __int64 n; 8 __int64 i; 9 __int64 *sum = (__int64 *)malloc(100005*sizeof(__int64)); 10 memset(sum,0,sizeof(sum)); 11 for(i = 1;i <= 100004;++i) 12 { 13 if(i%3 == 0) sum[i] = sum[i-1]+i*i*i; 14 else sum[i] = sum[i-1]+i; 15 } 16 while(scanf("%I64d",&n) != EOF && n >= 0) 17 { 18 printf("%I64d\n",sum[n]); 19 } 20 21 return 0; 22 }