Pagini recente » Cod sursa (job #2025054) | Cod sursa (job #2884566) | Cod sursa (job #1920919) | Cod sursa (job #1376099) | Cod sursa (job #2402269)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
map< int, tuple<int,int,int> >m;
int main()
{
int n,S,v[101];
fin>>n>>S;
for(int i=1;i<=n;i++)fin>>v[i];
sort(v+1,v+n+1);
if(6*v[n]<S){
fout<<-1;
return 0;
}else{
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
for(int k=1;k<=n;k++)m[v[i]+v[j]+v[k]]=make_tuple(i,j,k);
for(auto& kv:m)
{
int a=kv.first;
auto c= m.find(S-a);
if(c!=m.end())
{
int x,y,z;
vector<int>p;
tie(x,y,z)=kv.second;
p.push_back(x);
p.push_back(y);
p.push_back(z);
tie(x,y,z)=c->second;
p.push_back(x);
p.push_back(y);
p.push_back(z);
sort(p.begin(),p.end());
for(auto vec:p)fout<<vec<<' ';
return 0;
}
}
}
fout<<-1;
return 0;
}