Pagini recente » Cod sursa (job #1461774) | Cod sursa (job #2285756) | Cod sursa (job #999477) | Cod sursa (job #1937505) | Cod sursa (job #1343816)
#include<iostream>
#include<fstream>
#include<vector>
#include<algorithm>
#define NMAX 101
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
int n,v[NMAX],s;
struct loto{int s,a,b,c;};
loto suma[400000];
int nr;
int cmp(loto x,loto y)
{
return x.s<y.s;}
void read()
{
fin>>n>>s;
for(int i=1;i<=n;i++)
fin>>v[i];
}
void build()
{
for(int i=1;i<=n;i++)
for(int k=i;k<=n;k++)
for(int j=k;j<=n;j++)
{
nr++;
suma[nr].s=v[i]+v[k]+v[j];
suma[nr].a=v[i];
suma[nr].b=v[k];
suma[nr].c=v[j];
}
}
void solve()
{
int st=1,dr=nr;
while(st<=dr)
{
if(suma[st].s+suma[dr].s<s)
st++;
else
if(suma[st].s+suma[dr].s>s)
dr--;
else break;
}
if(st>dr)
fout<<"-1";
else
fout<<suma[st].a<<" "<<suma[st].b<<" "<<suma[st].c<<" "<<suma[dr].a<<" "<<suma[dr].b<<" "<<suma[dr].c<<" ";
}
int main()
{
read();
build();
sort(suma+1,suma+n+1,cmp);
solve();
return 0;
}