Pagini recente » Cod sursa (job #2160946) | Cod sursa (job #1086152) | Cod sursa (job #3338874) | Cod sursa (job #443969) | Cod sursa (job #2431343)
#include <fstream>
#define DIM 500010
using namespace std;
ifstream fin ("reguli.in");
ofstream fout ("reguli.out");
long long v[DIM];
pair <long long, int> d[DIM];
int n,i,j,k;
int main (){
fin>>n;
for (i=1;i<=n;i++)
fin>>v[i];
d[++k] = make_pair(v[2]-v[1],1);
for (i=2;i<n;i++){
long long dif = v[i+1]-v[i];
int poz = (i%k)?(i%k):(k);
if (d[poz].first != dif){
j = d[k].second+1;
while (j <= i){
d[++k] = make_pair(v[j+1]-v[j],j);
j++;
}}}
fout<<k<<"\n";
for (i=1;i<=k;i++)
fout<<d[i].first<<"\n";
return 0;
}