Pagini recente » Cod sursa (job #3132768) | Cod sursa (job #516198) | Cod sursa (job #1401696)
#include <cstdio>
#define NMAX 500005
using namespace std;
int n,k,prec,precc;
int phi[NMAX],v[NMAX];
int main()
{
freopen("reguli.in","r",stdin);
freopen("reguli.out","w",stdout);
scanf("%d %d",&n,&prec);n--;
for (int i=1;i<=n;i++)
{
scanf("%d",&v[i]);
precc=v[i];
v[i]-=prec;
prec=precc;
}
for (int i=1;i<=n;i++)
printf("%d ",v[i]);
for (int i=2;i<=n;i++)
{
while (k && v[k+1]!=v[i])
k=phi[k];
if (v[k+1]==v[i])k++;
phi[i]=k;
}
printf("%d\n",n-phi[n]);
for (int i=1;i<=n-phi[n];i++)
printf("%d ",v[i]);
fclose(stdin);
fclose(stdout);
}