Codechef:正确的做法与否?

时间:2014-10-04 10:48:51

标签: c algorithm

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 谢谢。

1 个答案:

答案 0 :(得分:1)

我的朋友你的方法是绝对正确的,只检查数据类型打印答案。 对于任何测试用例,您的答案可能会> 10000000000。检查它,它的开放论坛,所以我不会指点。