Pagini recente » Cod sursa (job #3122927) | Cod sursa (job #1102920) | Cod sursa (job #412042) | Cod sursa (job #2168778) | Cod sursa (job #2923150)
#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],nou[500005],k1;
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;
}
for(i=1;i<n;i++)
{
if(l[i]==0)
{
k1++;
nou[k1]=dif[i];
}
}
g<<k1<<'\n';
for(i=1;i<=k1;i++)
g<<nou[i]<<'\n';
return 0;
}