AcWing 4366. 上课睡觉
原题链接
简单
作者:
.Gura
,
2022-12-31 21:24:34
,
所有人可见
,
阅读 139
题目描述
算法1
枚举(check+约数)
C++ 代码
#include <bits/stdc++.h>
using namespace std;
int a[1001000];
int n;
bool check(int cnt)
{
int s=0;
for(int i=0;i<n;i++)
{
s+=a[i];
if(s>cnt) return false;
else if(s==cnt)
{
s=0;
}
}
return true;
}
int main()
{
int t;
cin>>t;
while(t--)
{
int sum=0;
cin>>n;
//计算sum
for(int i=0;i<n;i++)
{
cin>>a[i];
sum+=a[i];
}
//找出操作次数最少,所以i从n开始递减枚举.
for(int i=n;i>=1;i--)
{
if(sum%i==0&&check(sum/i))
{
cout<<n-i<<endl;
break;
}
}
}
}