Pagini recente » Cod sursa (job #2714855) | Cod sursa (job #281461) | Cod sursa (job #1196026) | Cod sursa (job #2536534) | Cod sursa (job #977811)
Cod sursa(job #977811)
#include<stdio.h>
#define NMAX 500000
int pi[NMAX+5],dif[NMAX+5];
int main() {
freopen("reguli.in","r",stdin);
freopen("reguli.out","w",stdout);
int x,last,n,i,p=0;
scanf("%d",&n);
scanf("%d",&last);
for(i=2;i<=n;i++) {
scanf("%d",&x);
dif[i-1]=x-last;
last=x;
}
p=0;
for(i=2;i<n;i++) {
while(p && dif[i]!=dif[p+1])
p=pi[p];
if(dif[p+1]==dif[i])
p++;
pi[i]=p;
}
printf("%d\n",n-1-pi[n-1]);
for(i=1;i<=n-1-pi[n-1];i++)
printf("%d\n",dif[i]);
return 0;
}