Pagini recente » Cod sursa (job #410727) | Cod sursa (job #2846222) | Cod sursa (job #2968747) | Cod sursa (job #255656) | Cod sursa (job #1402216)
#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=inc;
if(V[i]==V[i2])
i2++;
else
{
//sf=i+1;
i2=inc;
i3=i;
if(V[i3]==V[inc])
{
while(i3>=sf && V[i3]==V[inc])
i3--;
sf=i3+2;
}
else
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;
}