Pagini recente » Cod sursa (job #1790602) | Cod sursa (job #2661709) | Cod sursa (job #1201661) | Cod sursa (job #2958527) | Cod sursa (job #1204272)
#include <cstdio>
using namespace std;
long long a[500020];
int pi[500020];
long long n,m;
void R()
{
freopen("reguli.in","r",stdin);
scanf("%d",&n);
long long p,x,i;
scanf("%d",&x);
for(i=1; i<n; i++)
{
p=x;
scanf("%d",&x);
a[i]=x-p;
}
n--;
}
void Prefix()
{
long long i,k=0;
pi[1]=0;
for(i=2; i<=n; i++)
{
while(k>0 && a[k+1]!=a[i])
k=pi[k];
if(a[k+1]==a[i])
k++;
pi[i]=k;
}
m=n-pi[n];
}
int main()
{
R();
Prefix();
freopen("reguli.out","w",stdout);
printf("%d\n",m);
for(int i=1; i<=m; i++)
printf("%lld\n",a[i]);
return 0;
}