Pagini recente » Cod sursa (job #1515705) | Cod sursa (job #1171213) | Cod sursa (job #2856821) | Cod sursa (job #2607680) | Cod sursa (job #1109759)
#include <stdio.h>
using namespace std;
FILE *f=fopen("reguli.in","r");
FILE *g=fopen("reguli.out","w");
long long x,x1,n,j,i,nr[500001],v[500001],nn,k,p,u;
int main()
{
fscanf(f,"%lld",&n);
fscanf(f,"%lld",&x);
for(i=2;i<=n;i++)
{
fscanf(f,"%lld",&x1);
v[i-1]=x1-x;
x=x1;
}
n--;
p=2;
nr[1]=v[1];nn=1;
k=1;
while (p<=n)
{
if (nr[k]==v[p]){k++;if (k>nn)k=1;p++;}
else if (v[p]==nr[1]){for(j=nn+1;j<p;j++)nr[j]=v[j];nn=p-1;k=2;p++;}
else {for(j=nn+1;j<=p;j++)nr[j]=v[j];nn=p;p++;k=1;}
}
fprintf(g,"%lld",nn);
for(i=1;i<=nn;i++)
fprintf(g,"\n%lld",nr[i]);
fclose(g);
return 0;
}