Pagini recente » Cod sursa (job #1743525) | Cod sursa (job #2233817) | Cod sursa (job #3168302) | Cod sursa (job #2476649) | Cod sursa (job #2895648)
#include <iostream>
#include <unordered_map>
#include <tuple>
#include <fstream>
using namespace std;
ifstream f("loto.in");
ofstream g("loto.out");
int N,S,i,suma,j,k,v[101];
int main()
{
unordered_map<int, tuple<int,int,int>>M;
tuple<int,int,int> tuplu;
f>>N>>S;
for(i=0;i<N;i++) f>>v[i];
for(i=0;i<N;i++)
{
for(j=i;j<N;j++)
{
for(k=j;k<N;k++)
{
suma = v[i]+v[j]+v[k];
M[suma]=make_tuple(v[i],v[j],v[k]);
}
}
}
int ok=0;
unordered_map<int, tuple<int,int,int>>::iterator i;
for(i=M.begin();i!=M.end() && ok==0;i++)
{
if(M.find(S-i->first)!=M.end())
{
tuplu=M[S-i->first];
g<<get<0>(tuplu)<<" "<<get<1>(tuplu)<<" "<<get<2>(tuplu)<<" ";
tuplu=i->second;
g<<get<0>(tuplu)<<" "<<get<1>(tuplu)<<" "<<get<2>(tuplu);
ok=1;
}
}
if(ok==0) g<<-1;
return 0;
}