题意:
给一序列,把他划分为若干和相等的子序列,求可能的最小和。
分析:
暴力枚举就好,数据弱。
代码:
//poj 3782 //sep9 #include <iostream> using namespace std; const int maxN=10024; int a[maxN],n; int test(int mid) { int i,sum=0; for(i=1;i<=n;++i){ sum+=a[i]; if(sum==mid) sum=0; else if(sum<mid) continue; else return 0; } if(sum!=0) return 0; return 1; } int main() { int cases,cases_num,ans; scanf("%d",&cases); while(cases--){ int i,sum=0; scanf("%d%d",&cases_num,&n); for(i=1;i<=n;++i){ scanf("%d",&a[i]); sum+=a[i]; } for(i=0;i<=sum;++i) if(test(i)==1){ ans=i; break; } printf("%d %d\n",cases_num,ans); } return 0; }