Pagini recente » Istoria paginii monthly-2012/runda-8/solutii | Cod sursa (job #550164) | Cod sursa (job #3121718) | Istoria paginii utilizator/vipioana | Cod sursa (job #18976)
Cod sursa(job #18976)
#include<stdio.h>
const int Nmax=500001;
long long A[Nmax],X[Nmax];
int N,K;
void cit()
{
int i;
freopen("reguli.in","r",stdin);
scanf("%d",&N);
for(i=1;i<=N;i++)
scanf("%Ld",&X[i]);
}
void rez()
{
int i,j=0,l=0;
for(i=2;i<=N;i++)
{
if( X[i]-X[i-1]==A[j] )
{
A[++l]=X[i]-X[i-1];
j++;
if(j>K)
j=1;
}
else
{
l++;
A[l]=X[i]-X[i-1];
K=l;
j=1;
}
}
}
void scr()
{
int i;
freopen("reguli.out","w",stdout);
printf("%d\n",K);
for(i=1;i<=K;i++)
printf("%Ld\n",A[i]);
fclose(stdout);
}
int main()
{
cit();
rez();
scr();
return 0;
}