Cod sursa(job #1004595)
| Utilizator | Data | 3 octombrie 2013 11:02:06 | |
|---|---|---|---|
| Problema | Reguli | Scor | 80 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.65 kb |
#include<stdio.h>
#define NMAX 500007
int a[NMAX];
int n;
int main(){
freopen("reguli.in", "r", stdin);
freopen("reguli.out", "w", stdout);
scanf("%d", &n);
for(int i = 1; i <= n; ++ i)
scanf("%d", &a[i]);
for(int i = n; i >= 0; -- i)
a[i] -= a[i - 1];
for(int i = 2; i <= n; ++ i){
int ok = 0;
for(int j = i + 1; j <= n; ++ j)
if(a[j] != a[j - i + 1]){
ok = 1;
break;
}
if(ok == 0){
n = i;
break;
}
}
printf("%d\n", n - 1);
for(int i = 2; i <= n; ++ i)
printf("%d\n", a[i]);
return 0;
}
