Pagini recente » Cod sursa (job #1755661) | Cod sursa (job #3269008) | Cod sursa (job #2176495) | Cod sursa (job #3183543) | Cod sursa (job #3253054)
#include <bits/stdc++.h>
using namespace std;
ifstream f("reguli.in");
ofstream g("reguli.out");
long long pv[500005], v[500005], w[500005], nr;
int n, ct = 0;
void solve()
{
f >> n;
f >> v[0];
w[0] = v[0];
for(int i = 1; i < n; i ++)
f >> nr, v[i] = nr - w[i - 1 - (i != 1)], w[i - 1] = nr;
for(int i = 2; i < n; i ++)
{
int j = pv[i - 1];
while(j > 0 && v[j + 1] != v[i])
j = pv[j];
if(v[j + 1] == v[i])
j ++;
pv[i] = j;
}
g << n - 1 - pv[n - 1] << "\n";
for(int i = 1; i <= n - 1 -pv[n - 1]; i ++)
g << v[i] << "\n";
}
int main()
{
int t;
t = 1;
while(t --)
solve();
return 0;
}