Pagini recente » Cod sursa (job #1425812) | Cod sursa (job #1120112) | Cod sursa (job #1550444) | Cod sursa (job #240063) | Cod sursa (job #19950)
Cod sursa(job #19950)
#include<fstream>
#include<iostream>
#include <vector>
using namespace std;
#define inputfile "reguli.in"
#define outputfile "reguli.out"
int main() {
long N,K,i,j;
int periodic;
ifstream in(inputfile);
ofstream out(outputfile);
in>>N;
vector <long> x(N);
for (long i = 0; i<N; i++) in>>x[i];
in.close();
for (long i = N-1; i>=1; i--) x[i]-=x[i-1];
//BOOL periodic;
K = 1;
do{
periodic = 1;
while((K<N)&&(x[1]!=x[1+K])) K++;
if(K==N) {K--;break;}
for(i=1;((i<=K)&&(periodic));i++){
for(j=i+K;((j<N)&&(x[i]==x[j]));j+=K);
if(j<N) {periodic = 0;K++;}
}
}while(!periodic);
out<<K<<endl;
for(i=1;i<=K;i++)
out<<" "<<x[i];
out.close();
//system("PAUSE");
return 0;
}