1 条题解
-
1
我来交个题解玩玩。
#include<bits/stdc++.h> using namespace std; int a[1000111],s=0; int t,n,p; int main() { cin>>t; for(int i=1;i<=t;i++) { cin>>n;s=0;//这里的清零很重要 for(int j=1;j<=n;j++) { cin>>a[j]; s+=a[j];//求所有数之和 } for(int j=n;j>=1;j--)//因为要最少步骤,从最大的遍历 { if(s%j==0) { int mid=s/j,flag=1,cnm=0,ans=0; for(int k=1;k<=n;k++)//判断是否可行 { cnm+=a[k]; if(cnm>mid) { flag=0; break; } else if(cnm==mid){ cnm=0; } } if(flag==1){cout<<n-j<<endl;break;} } } } return 0;//完结撒花🎉️ }
如果看不懂也没关系,
我瞎写的。
信息
- ID
- 524
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 3
- 标签
- 递交数
- 4
- 已通过
- 4
- 上传者