Pagini recente » Cod sursa (job #2036173) | Cod sursa (job #842683) | Cod sursa (job #1049843) | Cod sursa (job #2549150) | Cod sursa (job #2923153)
#include<bits/stdc++.h>
#define int long long
using namespace std;
ifstream f("reguli.in");
ofstream g("reguli.out");
int n,v[500005],dif[500005],l[500005];
signed main()
{
int i,k=0;
f>>n;
for(i=1;i<=n;i++)
f>>v[i];
for(i=2;i<=n;i++)
{
dif[i-1]=v[i]-v[i-1];
}
l[1]=0;
for(i=2;i<n;i++)
{
while(k>0 && dif[k+1]!=dif[i])
k=l[k];
if(dif[k+1]==dif[i])
k++;
l[i]=k;
}
g<<n-l[n-1]-1<<'\n';
for(i=1;i<=n-l[n-1]-1;i++)
g<<dif[i]<<'\n';
return 0;
}