Pagini recente » Cod sursa (job #2940536) | Cod sursa (job #631326) | Cod sursa (job #121601) | Cod sursa (job #2888688) | Cod sursa (job #709930)
Cod sursa(job #709930)
#include <cstdio>
#include <algorithm>
#include <vector>
#define f first
#define s second
#define mp make_pair
using namespace std;
int v[105];
vector<pair< pair<int,int > , pair<int, int> > > vct;
int main()
{
int n,Sum;
freopen("loto.in","r", stdin);
freopen("loto.out","w", stdout);
scanf("%d %d",&n,&Sum);
for(int i=1;i<=n;i++)
scanf("%d",&v[i]);
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
for(int k=1;k<=n;k++)
{
vct.push_back(mp(mp(v[i]+v[j]+v[k],v[i]),mp(v[j],v[k])));
}
sort(vct.begin(),vct.end());
int poz=vct.size()-1;
for(unsigned int i=0;i<vct.size();i++)
{
// int poz=cautbin(Sum-vct[i].f.f);
if(vct[poz].f.f+vct[i].f.f>Sum)
poz--;
if(vct[poz].f.f+vct[i].f.f==Sum)
{
printf("%d %d %d %d %d %d",vct[i].f.s,vct[i].s.f,vct[i].s.s,vct[poz].f.s,vct[poz].s.f,vct[poz].s.s);
return 0;
}
}
printf("-1");
return 0;
}