Pagini recente » Profil Nygma | Diferente pentru utilizator/ezluci intre reviziile 14 si 13 | Atasamentele paginii Clasament oji2_sim | Diferente pentru monthly-2014/runda-1/solutii intre reviziile 15 si 2 | Cod sursa (job #841128)
Cod sursa(job #841128)
#include<cstdio>
#define NMAX 500010
using namespace std;
int n,i;
long long a,b,v[NMAX],pi[NMAX];
void prefix()
{
int i,q=0;
for(i=2;i<=n;i++)
{
for(;q;)
{
if(v[i]==v[q+1]) break;
q=pi[q];
}
if(v[i]==v[q+1]) q++;
pi[i]=q;
}
}
int main()
{
freopen("reguli.in","r",stdin);
freopen("reguli.out","w",stdout);
scanf("%d",&n);
scanf("%lld",&b);
for(i=1;i<n;i++)
{
scanf("%lld",&a);
v[i]=a-b;
b=a;
}
n--;
prefix();
a=n-pi[n];
printf("%lld\n",a);
for(i=1;i<=a;i++) printf("%lld\n",v[i]);
return 0;
}