Cod sursa(job #429245)

Utilizator nautilusCohal Alexandru nautilus Data 29 martie 2010 23:11:24
Problema Loto Scor 95
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 kb
#include<fstream>
#include<vector>
#include<map>

#define dmax 103

using namespace std;

ofstream fout("loto.out");

map<long, long> viz;
long n,a[dmax],suma,gasit;


void cautaresuma(long s)
{
 long i,j,k;
 
 for (i=1; i<=n; i++)
	 for (j=1; j<=n; j++)
		 for (k=1; k<=n; k++)
			 if (a[i]+a[j]+a[k]==s)
				 {
				  fout<<a[i]<<" "<<a[j]<<" "<<a[k]<<" ";
				  return ;
				 } 
}


void generare()
{
 long i,j,k,s;
	
 for (i=1; i<=n; i++)
	 for (j=1; j<=n; j++)
		 for (k=1; k<=n; k++)
			 {
			  s=a[i]+a[j]+a[k];
			  viz[s]=1;
			  
			  if (viz[suma-s]==1)
				  {
				   gasit=1;
				   cautaresuma(s);
				   cautaresuma(suma-s);
				   return ;
				  }
			 }
}


int main()
{
 long i;
	
 ifstream fin("loto.in");
 fin>>n>>suma;
 for (i=1; i<=n; i++)
	  fin>>a[i];
 
 generare();
 
 if (gasit==0)
	 fout<<"-1";
 
 return 0;
}