Cod sursa(job #316698)

Utilizator pcinfoCarmen Popescu pcinfo Data 20 mai 2009 20:21:04
Problema Loto Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.93 kb
#include <fstream>
#include <vector>
#include <set>

using namespace std;

struct nod
{
	int x,y,z,s;
};

struct maimic
{
  bool operator()(nod n1, nod n2) const
  {
    return n1.s<n2.s;
  }
};


ifstream f("loto.in");
ofstream g("loto.out");

int main()
{
	int sum,n,sum1,i,j,k;
	nod n1;
	f>>n>>sum;
	set<nod,maimic> s;
	set<nod>::iterator it;
	vector<int> x;
	int a;
	
	for (i=0;i<n;i++)
	{
		f>>a;
		x.push_back(a);
	}
	
	for (i=0;i<n;i++)
		for (j=i;j<n;j++)
			for (k=j;k<n;k++)
			{
				n1.x=x[i];
				n1.y=x[j];
				n1.z=x[k];
				n1.s=x[i]+x[j]+x[k];
				s.insert(n1);
			}
	for (i=0;i<n;i++)
		for (j=i;j<n;j++)
			for (k=j;k<n;k++)
			{
				sum1=sum-x[i]-x[j]-x[k];
				n1.s=sum1;
				it=s.find(n1);
				if (it!=s.end())
				{
					g<<x[i]<<" "<<x[j]<<" "<<x[k]<<" "<<(*it).x<<" "<<(*it).y<<" "<<(*it).z;
					g.close();
					return 0;
				}
			}
    g<<-1;			
	return 0;
}