华中区全国设计邀请赛1009

这题不能用dp啊,真是蛋疼。

#include"stdio.h"


int a[1005],sum[1005],s[1005];
int cal(int x)
{
    return x>0?x:-x;
}

int main( )
{
    int t,n,i,min,j,sum,count=1;
    scanf("%d",&t);
    while(t--)
    {
        scanf("%d",&n);
        min=0xffffff;
        sum=0;
        for(i=1;i<=n;i++)
            scanf("%d",&a[i]);
        for(i=1;i<=n;i++)
        {
            sum=0;
            for(j=i;j<=n;j++)
            {
                sum+=a[j];
                if(cal(sum)<min)
                    min=cal(sum);
                if(min==0)
                    break;
            }
            if(min==0)
                break;
        }
        printf("Case %d: %d\n",count++,min);
    }
    return 0;
}
        
原文地址:https://www.cnblogs.com/chaosheng/p/2452040.html