http://www.codechef.com/OCT14/problems/PRLADDU
这是当前的比赛。
我不想要答案,只是让我知道我的方法是否正确。
我所采用的方法是可交换地添加人员和恐龙,并加总他们(用来再次交换)计算最终答案的步骤。
如果我的方法是正确的,那么哪种情况失败了(我忽略了什么),因为编译器说错了答案?谢谢。
#include<stdio.h>
int main(void)
{
int t=0,n=0,i=0,dnv=0,grass=0,j=0;
int d[100000];
scanf("%d",&t);
for(i=0; i<t; i++)
{
scanf("%d",&n);
for(j=0;j<n;j++)
scanf("%d",&d[j]);
for(j=0; j<n; j++) {
dnv+=d[j];
if(dnv>0)
grass=grass+dnv;
else
grass=grass-dnv;
}
printf("%d\n",grass);
grass=dnv=0;
}
return 0;
}
尝试此问题的先决条件是什么http://www.codechef.com/OCT14/problems/FATCHEF
谢谢。
最佳答案
我的朋友您的方法是绝对正确的,仅检查您的数据类型以打印答案。
对于任何测试用例,您的答案可能都> 10000000000。检查它,它的开放论坛,所以我不会指出。