Pagini recente » Cod sursa (job #857251) | Cod sursa (job #2146316) | Cod sursa (job #2400492) | Cod sursa (job #2357819) | Cod sursa (job #1301721)
#include <iostream>
#include <fstream>
using namespace std;
ifstream F("reguli.in");
ofstream G("reguli.out");
const int N = 500010;
long long x,y,a[N];
int n,pi[N];
void build()
{
int p = 0;
for (int i=2;i<=n;++i)
{
while ( p != 0 && a[p+1] != a[i] )
p = pi[p];
if ( a[i] == a[p+1] )
++p;
pi[i] = p;
}
}
int main()
{
F>>n>>x;
--n;
for (int i=1;i<=n;++i)
{
F>>y;
a[i] = y-x;
x = y;
}
build();
int len = n-pi[n];
G<<len<<'\n';
for (int i=1;i<=len;++i)
G<<a[i]<<'\n';
}