Pagini recente » Cod sursa (job #1735164) | Cod sursa (job #721704) | Cod sursa (job #411905) | Cod sursa (job #3143873) | Cod sursa (job #3163499)
#include <bits/stdc++.h>
#define int long long
using namespace std;
signed main(){
cin.tie(0);ios::sync_with_stdio(0);
int n; cin >> n;
vector <int> v(n);
for(int i = 0; i < n; i++) cin >> v[i];
for(int i = n - 1; i > 0; i--){
v[i] = v[i] - v[i - 1];
}
v[0] = 0;
v.erase(v.begin());
n--;
int p[n];
p[0] = 0;
int k = 0;
for(int i = 1; i < n; i++){
while(k > 0 && v[i] != v[k]){
k = p[k - 1];
}
if(v[i] == v[k]) k++;
p[i] = k;
}
int lp = n - p[n - 1];
if(p[n - 1] == 0){
cout << n << endl;
for(int i = 0; i < n; i++) cout << v[i] << "\n";
cout << endl;
}else{
cout << lp << endl;
for(int i = 0; i < lp; i++) cout << v[i] << "\n";
cout << endl;
}
return 0;
}