Pagini recente » Cod sursa (job #2647757) | Cod sursa (job #1947866) | Cod sursa (job #2804952) | Cod sursa (job #853391) | Cod sursa (job #19686)
Cod sursa(job #19686)
#include <stdio.h>
#define input "reguli.in"
#define output "reguli.out"
#define nmax 500001
long long n,i,nr,s,pz;
long long v[nmax];
void citire()
{
FILE *fin;
fin=fopen(input,"r");
fscanf(fin,"%lld",&n);
for (i=1;i<=n;i++)
fscanf(fin,"%lld",&v[i]);
fclose(fin);
}
void solve()
{
nr=1;
for (i=2;i<n;i++)
{
s=v[i+1]-v[i];
pz=i%nr;
if (pz==0) pz=nr;
if (s!=v[pz+1]-v[pz]) nr=i;
}
}
void write()
{
FILE *fout;
fout=fopen(output,"w");
fprintf(fout,"%lld\n",nr);
for (i=1;i<=nr;i++)
fprintf(fout,"%ld\n",v[i+1]-v[i]);
fclose(fout);
}
int main()
{
citire();
solve();
write();
return 0;
}