Cod sursa(job #2353169)

Utilizator _Victor_Victor Ciobanu _Victor_ Data 23 februarie 2019 22:21:31
Problema Reguli Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.48 kb
#include <bits/stdc++.h>
#define ll long long
using namespace std;

ll X[500010];
int P[500010],n;

int main(){
	ifstream cin("reguli.in");
	ofstream cout("reguli.out");
	cin>>n;
	int p=0,l=n-1;
	for(int i=0;i<n;i++){
		cin>>X[i];
		if(i){
			X[i-1]=X[i]-X[i-1];
			while(p && X[i]!=X[p]){
				p=X[p-1];
			}
			if(X[i]==X[p]){
				p++;
			}
			P[i]=p;
		}	
	}
	if(l!=0)l-=P[l-1];
	else l=1;
	cout<<l<<'\n';
	for(int i=0;i<l;i++)cout<<X[i]<<'\n';
	return 0;
}