Pagini recente » Istoria paginii problema/brasov | Istoria paginii ccex2009/clasament/11-12 | Holiday | Cod sursa (job #1763676) | Cod sursa (job #84920)
Cod sursa(job #84920)
#include <stdio.h>
int main()
{
int x[500000],a[500000],not[500000];
int t,n,k,i,j,gas;
FILE *f1,*f2;
f1=fopen("reguli.in","r");
f2=fopen("reguli.out","w");
fscanf(f1,"%d",&n);
n--;
for (i=0; i<=n; i++)
fscanf(f1,"%d",&x[i]);
for (k=1; k<=n; k++)
{
for (i=1; i<=k; i++)
not[i]=0;
gas=0;
for (i=1; i<=n; i++)
{
t=x[i]-x[i-1];
if (i%k!=0)
if (not[i%k]==1 && t!=a[i%k]) gas=1;
else
{
a[i%k]=t;
not[i%k]=1;
}
else
if (not[k]==1 && t!=a[k]) gas=1;
else
{
a[k]=t;
not[k]=1;
}
if (gas==1) break;
}
if (gas==0)
{
fprintf(f2,"%d\n",k);
for (i=1; i<=k; i++)
fprintf(f2,"%d\n",a[i]);
break;
}
}
fclose(f1);
fclose(f2);
return 0;
}