Cod sursa(job #600321)

Utilizator luckyme91wiz kid luckyme91 Data 1 iulie 2011 12:35:33
Problema Loto Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <iostream>
#include <fstream>
#include <vector>

using namespace std;

int main () {

ifstream in ("sume.in");
ofstream out ("sume.out");

int n,i,j;
in >> n;
vector <int> sume (n);
for (i = 0; i < n; i++)
	in >> sume[i];
i = 1;
int dim;
while (n > 0)
	n -= i++;
if (n == 0)
	dim = i;
else
{
	out << -1;
	return 0;
}
vector <int> sol (dim);
if ((sume[0] + sume[1] - sume[dim - 1]) % 2 != 0)
{
	out << -1;
	return 0;
}
sol[0] = (sume[0] + sume[1] - sume[dim - 1])/2;
for (i = 1; i < dim; i++)
	sol[i] = sume[i - 1] - sol[0];
int k = 0;
for (i = 0; i < sol.size();i++)
	for (j = i + 1; j < sol.size(); j++)
		if (sol[i] + sol[j] != sume[k++])
		{
			out << -1;
			return 0;
		}
			
out << dim << endl;
for (i = 0; i < dim; i++)
	out << sol[i] << " ";
return 0;
}