Pagini recente » Cod sursa (job #754051) | Cod sursa (job #2914799) | Cod sursa (job #8571) | Cod sursa (job #2284107) | Cod sursa (job #18698)
Cod sursa(job #18698)
/*#include "stdafx.h"
#include "infoarena.h"
//#include <conio.h>/**/
#include <stdio.h>
#ifndef _INC_CONIO
void clrscr()
{
freopen("reguli.out", "w", stdout);
}
void getch() {}
#else
void clrscr() {}
#endif
#define rep(i,n) for(i=0;i<n;i++)
long long last, cur, first;
long long a[500000];
long long b[500000];
int main()
{
int n,i,l,j;
clrscr();
FILE *fin = fopen("reguli.in","r");
fscanf(fin,"%d",&n);
fscanf(fin,"%ld", &last);
first = last;
for(i=1;i<n;i++)
{
fscanf(fin,"%ld", &cur);
a[i-1] = cur - last;
b[i] = cur - first;
last = cur;
}
n--;
for(l = 1; l < n; l++)
if (b[n] == b[l]*(n/l)+b[n%l]) break;
/*for(l = 1; l < n; l++)
{
for (i = 0; i < l; i++)
{
for (j = l+i; j < n; j+=l)
if(a[j-l] != a[j]) break;
if (j < n) break;
}
if (i==l) break;
}*/
printf("%d\n", l);
rep(i,l) printf("%d\n", a[i]);
getch();
return 0;
}