Pagini recente » Cod sursa (job #2393348) | Cod sursa (job #12883) | Cod sursa (job #772224) | Cod sursa (job #3042064) | Cod sursa (job #603607)
Cod sursa(job #603607)
#include <fstream>
using namespace std;
ifstream f("reguli.in");
ofstream g("reguli.out");
int x,y;
int v[500000];
int p[500000],n,i,poz;
void prefix()
{
int k,i;
p[1]=0;
for (i=2; i<=poz; i++)
{
while (k>0 && v[k+1]!=v[i]) k=p[k];
if (v[k+1]==v[i]) k++;
p[i]=k;
}
g << poz-p[poz] << endl;
for (i=1; i<=poz-p[poz]; i++)
g << v[i] << '\n';
}
int main()
{
f >> n >> x;
for (i=1; i<n; i++)
{
f >> y;
v[++poz]=y-x;
x=y;
}
prefix();
}