Pagini recente » Cod sursa (job #288351) | Cod sursa (job #818123) | Cod sursa (job #2172339) | Cod sursa (job #1605394) | Cod sursa (job #863942)
Cod sursa(job #863942)
#include<cstdio>
long long v[500005];
int p[500005];
int main (void)
{
freopen ("reguli.in","r",stdin);
#ifdef INFOARENA
freopen ("reguli.out","w",stdout);
#endif
int n;long long o,c;
scanf ("%d%lld",&n,&o);
n--;
for(int i=1;i<=n;i++){
scanf ("%lld",&c);
v[i]=c-o;
o=c;
}
p[1]=0;
int x=0;
for(int i=2;i<=n;i++){
while(x>0&&v[x+1]!=v[i])
x=p[x];
if(v[x+1]==v[i])
x++;
p[i]=x;
}
int ans=n-p[n];
printf ("%d\n",ans);
for(int i=1;i<=ans;i++)
printf ("%lld\n",v[i]);
return 0;
}