Pagini recente » Cod sursa (job #93699) | Cod sursa (job #2816437) | Cod sursa (job #2338765) | Cod sursa (job #46520) | Cod sursa (job #18821)
Cod sursa(job #18821)
/*#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 cur, first;
long long a[500001];
long long b[500001];
int main()
{
int n,i,l,j;
clrscr();
FILE *fin = fopen("reguli.in","r");
fscanf(fin,"%d",&n);
fscanf(fin,"%lld", &first);
for(i=1;i<n;i++)
{
fscanf(fin,"%lld", &b[i]);
b[i]-=first;
}
n--;
for(l = 1; l < n; l++)
{
long long dif = b[n]-b[n%l], nr = n/l;
if ((dif / nr == b[l]) && (dif % nr == 0)) 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);
for(i=1; i<=l; i++) printf("%lld\n", b[i]-b[i-1]);
getch();
return 0;
}