Pagini recente » Cod sursa (job #819130) | Cod sursa (job #2790190) | Statistici Catalin Pistol (CatalinOvidiu) | Istoria paginii runda/marcel001 | Cod sursa (job #1340666)
#include <fstream>
using namespace std;
ifstream fin("reguli.in");
ofstream fout("reguli.out");
long long N , v[500002] ,i ,P[500002], x, L, k, y;
int main(){
fin>>N;
fin>>x;
N -- ;
for( i = 1; i <= N; i ++){
fin >> y;
v[i] = y - x;
x = y;
}
for(i = 2;i <= N ; i ++){
if( L != 0 && v[i] != v[L + 1])
L = P[L];
if(v[i] == v[L+1])
L ++;
P[i] = L;
}
k = N - P[N];
fout<< k << "\n";
for( i = 1;i <= k ;i ++)
fout << 1LL * v[i] << "\n";
fin.close();fout.close();
return 0;
}