Cod sursa(job #1653349)

Utilizator valentin50517Vozian Valentin valentin50517 Data 15 martie 2016 21:40:54
Problema Reguli Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.48 kb
#include <bits/stdc++.h>

typedef long long ll;

using namespace std;
ifstream fin("reguli.in");
ofstream fout("reguli.out");

ll D[500100],N,p[500100],x,y,m;
int main(){
	fin >> N >> x;
	for(int i = 1;i<N;i++){
		fin >> y;
		D[i] = y - x;
		x = y;
	}
	N--;
	int k = 0;
	for(int i = 2;i<=N;i++){
		while(k && D[k+1] != D[i]) k = p[k];
		if(D[k+1] == D[i]) k++;
		p[i] = k; 
		if(m < i-k) m = i-k;
	}
	fout << m << '\n';
	for(int i = 1;i<=m;i++) fout << D[i] << '\n'; 
	return 0;

	

	return 0;
}