Pagini recente » Cod sursa (job #2547214) | Borderou de evaluare (job #999743) | Monitorul de evaluare | Clasamentul arhivei de probleme | Cod sursa (job #1004601)
#include<stdio.h>
#define NMAX 500007
int a[NMAX], b[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", &b[i]);
for(int i = 1; i <= n; ++ i)
a[i] = b[i + 1] - b[i];
-- n;
for(int i = 1; i <= n; ++ i){
int ok = 0;
for(int j = i + 1; j <= i + i && j <= n; ++ j)
if(a[j] != a[j - i]){
++ ok;
break;
}
if(ok == 0){
n = i;
break;
}
}
printf("%d\n", n);
for(int i = 1; i <= n; ++ i)
printf("%d\n", a[i]);
return 0;
}