Pagini recente » Cod sursa (job #478531) | Cod sursa (job #732675) | Cod sursa (job #554058) | Cod sursa (job #2199628) | Cod sursa (job #1340677)
#include <fstream>
using namespace std;
ifstream fin("reguli.in");
ofstream fout("reguli.out");
int N , v[500005] ,i ,P[500005], x, L, k, y;
int main(){
fin>>N;
fin>>x;
for( i = 1; i <= N; i ++){
fin >> y;
v[i] = y - x;
x = y;
}
N -- ;
P[1] = L =0;
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;
}