Pagini recente » Cod sursa (job #2464675) | Cod sursa (job #324727) | Cod sursa (job #156523) | Cod sursa (job #583166) | Cod sursa (job #446995)
Cod sursa(job #446995)
#include<stdio.h>
#include<stdlib.h>
#include<set>
#define FIN "loto.in"
#define FOUT "loto.out"
#define NMAX 102
using namespace std;
set<int> sume;
int numere[NMAX],ss,sd,rez[6],n,s;
int main()
{
freopen(FIN,"r",stdin);
freopen(FOUT,"w",stdout);
scanf("%d %d",&n,&s);
for(int i=1;i<=n;i++)
{
scanf("%d",&numere[i]);
}
for(int i = 1 ; i <= n ; i++)
for(int j = i ; j <= n ; j++)
for(int k = j ; k <= n; k++)
sume.insert(numere[i]+numere[j]+numere[k]);
bool gasit=false;
for(int i = 1 ;i <= n && !gasit; i++)
for(int j = i ; j <= n && !gasit; j++)
for(int k = j ; k <= n && !gasit; k++)
{
ss = numere[i] + numere[j] + numere[k];
sd = s - ss;
if(sume.find(sd)!=sume.end()) gasit = true, rez[0] = numere [i] , rez[1] = numere [j] , rez[2]= numere[k];
}
if(!gasit) printf("-1\n");
else
{
for(int i = 1 ; i <= n ; i++)
for(int j = i ; j <= n ; j++)
for(int k = j ; k <= n ; k++)
if(sd == numere[i]+numere[j]+numere[k]) rez[3]=numere[i],rez[4]=numere[j],rez[5]=numere[k];
for(int i=0;i<6;i++) printf("%d ",rez[i]);
}
return 0;
}