Cod sursa(job #733298)

Utilizator BarracudaFMI-Alex Dobrin Barracuda Data 11 aprilie 2012 19:18:24
Problema Reguli Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.44 kb
#include<fstream>
using namespace std;

ifstream f("reguli.in");
ofstream g("reguli.out");
int p[500007],A[500007],n,k,i,D;
long long x,y;
int main () {
	f>>n;
	f>>x;
	for(i=1;i<n;i++){
		
		f>>y;
		A[i]=y-x;
		x=y;
		
	}
	for(i=2;i<=n;i++){
		
		while(k>0 && A[k+1]!=A[i])
			k=p[k];
		
		
		if(A[i]==A[k+1])
			k++;
		
		p[i]=k;
		
	}
	
	D=n-p[n-1]-1;
	g<<D<<"\n";
	for(i=1;i<=D;i++)
		g<<A[i]<<"\n";
	
	return 0;
}