Mai intai trebuie sa te autentifici.
Cod sursa(job #108568)
Utilizator | Data | 22 noiembrie 2007 22:08:13 | |
---|---|---|---|
Problema | Reguli | Scor | 70 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.62 kb |
#include <stdio.h>
#define NMAX 500010
long long a[NMAX], d[NMAX];
long long n;
int main()
{
freopen("reguli.in","r",stdin);
freopen("reguli.out","w",stdout);
scanf("%lld", &n);
long long i, j, k;
for (i=1; i<=n; ++i)
scanf("%lld", &a[i]);
for (i=1; i<n; ++i)
d[i]=a[i+1]-a[i];
j=1;
i=2;
while ((d[i] != d[1]) && i<n) ++i;
k=i-1;
for (i=k+1; i<n; ++i)
{
if (j>k) j=1;
if (d[i]==d[j]) ++j;
else
{
j=1;
k=i;
}
}
printf("%lld\n", k);
for (i=1; i<=k && i<n; ++i)
printf("%lld\n", d[i]);
fclose(stdin);
fclose(stdout);
return 0;
}