Pagini recente » Cod sursa (job #2115478) | Cod sursa (job #1981954) | Cod sursa (job #2933574) | Cod sursa (job #2568524) | Cod sursa (job #446808)
Cod sursa(job #446808)
# include <fstream>
# include <iostream>
# include <set>
# include <vector>
# include <algorithm>
# define pb push_back
using namespace std;
struct nod{
int a, b, c, s;
nod (){}
nod (int A, int B, int C, int S){
a=A;b=B;c=C;s=S;}
friend bool operator < (const nod &a, const nod &b){
return a.s<b.s;
};
};
int n, s, rez, v[10];
vector<int>V;
multiset<nod>S;
void read ()
{
int x;
ifstream fin ("loto.in");
fin>>n>>s;
for(int i=1;i<=n;i++)
{
fin>>x;
V.pb(x);
}
}
void solve ()
{
multiset<nod>::iterator it;
for(int i=0;i<n;++i)
for(int j=0;j<n;++j)
for(int k=0;k<n;++k)
S.insert(nod(i+1, j+1, k+1, V[i]+V[j]+V[k]));
for(multiset<nod>::iterator I=S.begin();I!=S.end() && !rez;++I)
{
it=S.find(nod(0, 0, 0, s-I->s));
if (it!=S.end())
{
rez=1;
v[1]=it->a;v[2]=it->b;v[3]=it->c;v[4]=I->a;v[5]=I->b;v[6]=I->c;
}
}
}
int main()
{
read();
solve ();
ofstream fout ("loto.out");
if (rez)
for(int i=1;i<=6;i++)fout<<v[i]<<" ";
else
fout<<"-1";
return 0;
}