Pagini recente » Cod sursa (job #2037854) | Cod sursa (job #2662741) | Cod sursa (job #1899831) | Cod sursa (job #1063402) | Cod sursa (job #18121)
Cod sursa(job #18121)
#include <stdio.h>
#define FIN "reguli.in"
#define FOUT "reguli.out"
#define NMAX 500001
#define INF 0x3f3f3f3f
long long x[NMAX], a[NMAX];
int N;
int search (int k)
{
for (int i = 1; i < k; ++ i)
a[i % k] = x[i] - x[i-1];
a[k] = x[k] - x[k-1];
bool verif = true;
for (int i = 1; i < N; ++ i)
if (i % k)
if (x[i] != x[i-1] + a[i % k])
{
verif = false;
break;
}
else;
else
if (x[i] != x[i-1] + a[k])
{
verif = false;
break;
}
if (verif)
return 1;
return 0;
}
int
main ()
{
freopen (FIN, "rt", stdin);
freopen (FOUT, "wt", stdout);
scanf ("%d", &N);
for (int i = 0; i < N; ++ i)
scanf ("%d", &x[i]);
for (int i = 1; i <= N; ++ i)
if (search (i))
{
printf ("%d\n", i);
for (int j = 1; j <= i; ++ j)
printf ("%lld\n", a[j]);
break;
}
return 0;
}