Pagini recente » Cod sursa (job #1679365) | Cod sursa (job #1034432) | Cod sursa (job #2518047) | Cod sursa (job #1239715) | Cod sursa (job #841250)
Cod sursa(job #841250)
#include<cstdio>
using namespace std;
const int nmax = 500005;
int i,n,pi[nmax],sol;
long long a[nmax],d[nmax];
void prefix()
{
int q=0;
pi[1]=0;
for(i=2;i<=n;i++)
{
while(q && d[q+1]!=d[i]) q=pi[q];
if(d[q+1]==d[i]) q++;
pi[i]=q;
}
}
int main()
{
freopen("reguli.in","r",stdin);
freopen("reguli.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;i++) scanf("%lld",&a[i]);
for(i=1;i<n;i++) d[i]=a[i+1]-a[i];
n--; prefix(); sol=n-pi[n];
printf("%d\n",sol);
for(i=1;i<=sol;i++) printf("%d\n",d[i]);
return 0;
}