Pagini recente » Cod sursa (job #2106120) | Cod sursa (job #1864639) | Cod sursa (job #109531) | Cod sursa (job #2394131) | Cod sursa (job #50306)
Cod sursa(job #50306)
#include <stdio.h>
#define NMAX 524288
#define INF "reguli.in"
#define OUF "reguli.out"
long long a[NMAX],dif[NMAX];
int main()
{
int i,n,k,p,q;
FILE *in,*out;
in=fopen(INF,"r");
out=fopen(OUF,"w");
fscanf(in,"%d",&n);
for(i=0;i<n;i++) fscanf(in,"%lld",(a+i));
for(i=1;i<n;i++) dif[i]=a[i]-a[i-1];
p=1;q=1;k=p;
for(i=2;i<n;i++)
{
if(k>q) k=p;
if(dif[k]==dif[i]) k++;
else
{
q=i;k=p;
if(dif[i]==dif[p]) k++;
}
}
fprintf(out,"%d\n",(q-p+1));
for(i=p;i<=q;i++) fprintf(out,"%lld\n",dif[i]);
fclose(in);fclose(out);
return 0;
}