Pagini recente » Cod sursa (job #1885520) | Cod sursa (job #2129840) | Cod sursa (job #930646) | Cod sursa (job #2761318) | Cod sursa (job #1402244)
#include <iostream>
#include <fstream>
#include <algorithm>
#include <vector>
using namespace std;
ifstream fin("reguli.in");
ofstream fout("reguli.out");
int N;
vector < int64_t > V;
int L;
void Citire()
{
long long X1,X2;
fin>>N>>X1;
V.reserve(N);
for(int i=2; i<=N; i++)
{
X2=X1;
fin>>X1;
V.push_back(X1-X2);
}
}
void Rezolvare()
{
for(auto x: V)
cout<<x<<' ';
N--;
int i,i2=0,inc=0,sf=1;
int i3;
for(i=1; i<N; i++)
{
if(i2>=sf)
i2%=sf;
if(V[i]==V[i2])
i2++;
else
{
//sf=i+1;
i2=inc;
//i3=i;
if(V[i]==V[inc])
{
while(i>=sf && V[i]==V[inc])
{
i--;
}
i++;
}
sf=i+1;
}
}
L=sf;
}
void Afisare()
{
fout<<L<<'\n';
for(int i=0; i<L; i++)
fout<<V[i]<<'\n';
}
int main()
{
Citire();
Rezolvare();
Afisare();
return 0;
}