Cod sursa(job #392981)

Utilizator dan_10Dan Alexandru dan_10 Data 8 februarie 2010 18:10:48
Problema Stramosi Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include<stdio.h>
#include<math.h>

long p,v[33000],n;
long i,j;
double m,k,a;
int main()
{
	freopen("sume.in","r",stdin);
	scanf("%ld",&p);
	for(i=1;i<=p;i++)
		scanf("%ld",&v[i]);
	fclose(stdin);
	k=1+4*2*p;
	m=(1+sqrt(k))/2;
	freopen("sume.out","w",stdout);
	if(m==long(m))
	{	n=m;
		i=v[1];
		j=v[2];
		k=v[n];
		a=(i+j-k)/2;
		if(a==(long)a)			
		{	printf("%ld\n",n);
			printf("%ld ",(long)a);
			for(i=1;i<n;i++)
			printf("%ld ",v[i]-(long)a);
		}
		else n=-1;
	}
	else n=-1;
	if(n==-1)	printf("%ld\n",n);	
	
	fclose(stdout);
	return 0;
	
}