Pagini recente » Cod sursa (job #493933) | Cod sursa (job #2295842) | Cod sursa (job #172124) | Cod sursa (job #788468) | Cod sursa (job #2289018)
#include <bits/stdc++.h>
#define ll long long
using namespace std;
ifstream f("reguli.in");
ofstream g("reguli.out");
ll N , x , y , v[500100] , p[5000100] , k ;
ll sol = 0 ;
int main()
{
f >> N;
f >> x;
for (ll i = 1 ; i <= N ; i++)
{
f >> y ;
v[i] = y - x ;
x = y ;
}
k = 0 ;
ll M = N - 1 ;
for (ll i = 2 ; i <= M ; i++)
{
while (k != 0 && v[k+1] != v[i]) k = p[k] ;
if (v[k+1] == v[i]) k ++ ;
p[i] = k ;
}
//for (ll i = 1 ; i <= M ; i ++ )
// g << p[i] << ' ' ;
sol = k - p[k];
g << sol << '\n';
for (int i = 1 ; i <= sol ; i ++)
g << v[i] << '\n';
return 0 ;
}