Pagini recente » Cod sursa (job #355294) | Cod sursa (job #1242791) | Cod sursa (job #1772721) | Cod sursa (job #2046951) | Cod sursa (job #2288958)
#include <bits/stdc++.h>
#define nmax 500005
using namespace std;
ifstream f("reguli.in");
ofstream g("reguli.out");
long long n,m,k,p[nmax],nr,c[nmax],x,y;
int main() {
int i,j;
f>>n;
f>>x;
for (i=2;i<=n;i++) {
f>>y;
c[i-1]=y-x;
x=y;
}
k=0;
n--;
for (i=2;i<=n;i++) {
while (k!=0 && c[k+1]!=c[i]) k=p[k];
if (c[k+1]==c[i]) k++;
p[i]=k;
}
for (i=n;i>=1;i--)
if (i%(i-p[i])==0) {
m=i-p[i];
break;
}
g<<m<<'\n';
for (i=1;i<=m;i++) g<<c[i]<<'\n';
return 0;
}