Description
Input
Output
Data Constraint
Solution
GDOI2018day1的第一题,那当然是签到题啦!
做一遍前缀和,枚举块的大小,暴力跳即可。
Code
#include<cstdio>
#include<cctype>
using namespace std;
const int N=1e6+5;
int pre[N];
bool bz[N];
inline int read()
{
int X=0,w=0; char ch=0;
while(!isdigit(ch)) w|=ch=='-',ch=getchar();
while(isdigit(ch)) X=(X<<3)+(X<<1)+(ch^48),ch=getchar();
return w?-X:X;
}
int main()
{
freopen("farm.in","r",stdin);
freopen("farm.out","w",stdout);
int n=read();
for(int i=1;i<=n;i++)
{
pre[i]=pre[i-1]+read();
bz[pre[i]]=true;
}
for(int i=1,all=pre[n];i<=n;i++)
if(all%pre[i]==0)
{
int pos=pre[i],num=pos;
while(pos<all)
if(pos+num<=all && bz[pos+num]) pos+=num; else break;
if(pos==all) return 0&printf("%d",all/num);
}
return 0;
}