Pagini recente » Cod sursa (job #374190) | Cod sursa (job #1961767) | Cod sursa (job #1544214) | Cod sursa (job #552302) | Cod sursa (job #1563586)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
vector<long long> r;
int main()
{
FILE *f = fopen("reguli.in", "r"),
*g = fopen("reguli.out", "w");
int n;
long long x1, x2; fscanf(f, "%d %I64d %I64d\n", &n, &x1, &x2);
r.push_back(x2 - x1); x1 = x2;
for(int i = 2; i < n; i ++) {
fscanf(f, "%I64d", &x2);
if(r[(i - 1) % r.size()] != (x2 - x1)) {
int in = r.size();
while(r.size() < i) {
for(int j = 0; j < in && r.size() < i; j ++)
r.push_back(r[j]);
}
r[r.size() - 1] = x2 - x1;
}
x1 = x2;
}
fprintf(g, "%d\n", r.size());
for(int i = 0; i < r.size(); i ++) fprintf(g, "%I64d\n", r[i]);
return 0;
}