Pagini recente » Cod sursa (job #651052) | Cod sursa (job #1897698) | Cod sursa (job #1850891) | Cod sursa (job #1315386) | Cod sursa (job #2006902)
#include<fstream>
#define ll long long
#define pii pair<int,int>
#define pll pair<ll,ll>
#define fi first
#define se second
#define sz size
#define pb push_back
#define mp make_pair
#define bg begin
#define nd end
using namespace std;
#define int long long
const int maxn = 500003;
const int maxk = 1003;
int pref[maxn];
int arr[maxn];
int n;
void kmp(){
int q = 0;
pref[1] =0;
for(int i=2;i<n;i++){
while(q && arr[q+1]!=arr[i]){
q = pref[q];
}
if(arr[q+1] == arr[i]) q++;
pref[i] = q;
}
}
int32_t main()
{
ifstream f("reguli.in");
ofstream g("reguli.out");
ios_base::sync_with_stdio(false);
f>> n;
int x,bef;
for(int i=0;i<n;i++){
f>> x;
if(i > 0){
arr[i] = x - bef;
}
bef = x;
}
kmp();
g<< n-pref[n-1] - 1 << '\n';
for(int i=1;i<n-pref[n-1];i++){
g<< arr[i] << '\n';
}
return 0;
}