Pagini recente » Cod sursa (job #958318) | Cod sursa (job #455519) | Cod sursa (job #2255571) | Cod sursa (job #2355475) | Cod sursa (job #246101)
Cod sursa(job #246101)
#include<stdio.h>
#define dim 500001
int n,i,k,a[dim],b[dim];
void fill()
{int x,y;
scanf("%d",&y);
for(i=1;i<n;i++)
{
scanf("%d",&x);
a[i]=x-y;
y=x;
}}
int check(int y)
{int x,p;
x=1;
for(p=y+1;p<n;p++)
{++x;
if(x==k+1)
x=1;
if(a[p]!=b[x])
return 1;
}
return 0;
}
void afis(int i)
{
printf("%d\n",k);
for(k=1;k<=i;k++)
printf("%d\n",b[k]);
}
int solve()
{
k=1;
for(i=1;i<n;i++)
{
if(b[1]==a[i])
{//printf("%d %d %d %d\n",i,n,b[1],a[i]);
if(check(i)==0)
{afis(k);
return 0;
}}
else
{ b[++k]=a[i];
// printf("Crestem k: %d %d\n",k,b[k]);
}
}}
int main ()
{
freopen("reguli.in","r",stdin);
freopen("reguli.out","w",stdout);
scanf("%d",&n);
fill();
b[1]=a[1];
solve();
// afis(n);
}