Pagini recente » Cod sursa (job #3160886) | Cod sursa (job #1089901) | Cod sursa (job #1593038) | Cod sursa (job #1719955) | Cod sursa (job #481200)
Cod sursa(job #481200)
using namespace std;
#include<iostream>
#include<fstream>
ofstream fout("reguli.out");
int pi[500005],a[500005],N;
void solve()
{
int i,k=0,L;
pi[1]=0;
for(i=2;i<=N;i++)
{
while(k>0&&a[i]!=a[k+1]) k=pi[k];
if(a[i]==a[k+1]) k++;
pi[i]=k;
}
for(L=1;L<=N;L++)
if(pi[N]==N%L&&N-L%pi[N-L]==0)
{
fout<<L<<"\n";
break;
}
}
void cit()
{int i,x,y;
ifstream fin("reguli.cpp");
fin>>N;
fin>>x;
for(i=1;i<=N;i++)
{
fin>>y;
a[i]=y-x;
x=y;
}
fin.close();
}
int main()
{
cit();
solve();
fout.close();
return 0;
}