Pagini recente » Cod sursa (job #2974869) | Cod sursa (job #340320) | Cod sursa (job #833262) | Cod sursa (job #2500702) | Cod sursa (job #1401706)
#include <cstdio>
#define NMAX 500005
using namespace std;
long long n,k,prec,precc;
long long phi[NMAX],v[NMAX];
int main()
{
freopen("reguli.in","r",stdin);
freopen("reguli.out","w",stdout);
scanf("%lld %lld",&n,&prec);n--;
for (int i=1;i<=n;i++)
{
scanf("%lld",&v[i]);
precc=v[i];
v[i]-=prec;
prec=precc;
}
//for (int i=1;i<=n;i++)
// printf("%d ",v[i]);
for (long long 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("%lld\n",n-phi[n]);
for (int i=1;i<=n-phi[n];i++)
printf("%lld\n",v[i]);
fclose(stdin);
fclose(stdout);
}