Pagini recente » Cod sursa (job #1100022) | Cod sursa (job #1780223) | Cod sursa (job #1778518) | Cod sursa (job #2316074) | Cod sursa (job #977984)
Cod sursa(job #977984)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("reguli.in");
ofstream fout("reguli.out");
const int N = 500010;
int n, x, y, d[N], pi[N];
int main()
{
fin>>n; fin>>y;
for(int i=2; i<=n; i++)
{
fin>>x; d[i-1] = x - y;
y = x;
}
int k = 0;
for(int i=2; i<n; i++)
{
while(k && d[k+1] != d[i])
k = pi[k];
if(d[k+1] == d[i]) k++;
pi[i] = k;
}
n = n - pi[n-1] - 1;
fout<<n<<'\n';
for(int i=1; i<=n; i++)
fout<<d[i]<<'\n';
return 0;
}