Cod sursa(job #428519)

Utilizator matemariaescuMaria Mateescu matemariaescu Data 29 martie 2010 12:23:24
Problema Loto Scor 95
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.94 kb
# include <map>
# include <vector>
# include <stdio.h>

using namespace std;
map <int,int> viz;
vector <int> a;
int i,j,k,x,nr,n,s,nn,ok;

void part1();
void part2();

 int main ()
 {
	 freopen("loto.in","r",stdin);
	 freopen("loto.out","w",stdout);
	 scanf ("%d%d",&n,&s);
	 for (i=1;i<=n;i++)
	 {
			scanf ("%d",&x);
			a.push_back(x);
	 }
	 ok=1;
	 nr=0;
	 part1();
		part2();
		if (ok)
			printf ("-1\n");
	 return 0;
 }
 
 void part1()
 {
	  for (i=0;i<n;i++)
		 for (j=0;j<n;j++)
			 for (k=0;k<n;k++)
			 {
				 viz[a[i]+a[j]+a[k]]=1;
				 if (viz[s-(a[i]+a[j]+a[k])])
				 {
					 printf ("%d %d %d ",a[i],a[j],a[k]);
					 nr=s-(a[i]+a[j]+a[k]);
					 ok=0;
					 return;
				 }
			 }
 }
 
 void part2()
 {
	 for (i=0;i<n;i++)
		 for (j=0;j<n;j++)
			 for (k=0;k<n;k++)
			 {
				  nn++;
				 if (a[i]+a[j]+a[k]==nr)
				 {
					 printf ("%d %d %d\n",a[i],a[j],a[k]);
					 return;
				 }
			 }
 }