为何是88分

P1216 [USACO1.5] [IOI1994]数字三角形 Number Triangles

return @ 2017-06-29 11:10:31

#include<cstdio>
#include<cstring>
using namespace std;
int n,i,j,a[1000][1000],b[1000][1000],maxx;
int main() {
    scanf("%d", &n);
    for(i=1; i<=n; i++)
        for(j=1; j<=i; j++) {
            scanf("%d", &a[i][j]);
            b[i][j]=a[i][j];
        }        
    for(i=2; i<=n; i++)
        for(j=1; j<=i; j++)
            if(b[i-1][j-1]>b[i-1][j])
                b[i][j]=b[i][j]+b[i-1][j-1];
            else b[i][j]=b[i][j]+b[i-1][j];
    maxx=0;
    for(j=1; j<=n; j++)
        if(b[n][j]>maxx)
            maxx=b[n][j];
    printf("%d", maxx);
    return 0;
}
为何是88分啊???

by King2001 @ 2017-07-17 13:09:28

数组1000是不够用的,我开到1005就AC了。。。虽然不知道为什么。。。


|