Pagini recente » Cod sursa (job #3121402) | Cod sursa (job #364850) | Cod sursa (job #2120026) | Cod sursa (job #2724635) | Cod sursa (job #58522)
Cod sursa(job #58522)
#include <cstdio>
using namespace std;
#define Nmax 500500
unsigned v[Nmax];
#define dim 10000
char buf[dim];
int main()
{
freopen("reguli.in","r",stdin);
freopen("reguli.out","w",stdout);
int poz;
#define bufer fread(buf,1,dim,stdin), poz = 0
#define cit(x) \
{ \
x = 0; \
while(buf[poz] < '0') \
{ \
++poz; \
if(poz == dim) \
bufer; \
} \
while(buf[poz] >= '0') \
{ \
x = x*10 + buf[poz] - '0'; \
if(++poz == dim) \
bufer; \
} \
}
bufer;
int i,j,n, tmp, aux;
cit(n)
cit(v[0]);
tmp = v[0];
for(i=1;i<n;++i)
{
cit(v[i])
aux = v[i];
v[i] -= tmp;
tmp = aux;
}
v[0] = 0;
for(i=1;i<n;++i)
{
for(j=i+1;j<n;++j)
{
tmp = j % i;
if(!tmp) tmp = i;
if(v[j] != v[tmp])
break;
}
if(j == n)
break;
}
printf("%d\n",i);
for(j=1;j<=i;++j)
printf("%d\n",v[j]);
return 0;
}