Pagini recente » Cod sursa (job #2661171) | Cod sursa (job #1836973) | Cod sursa (job #343932) | Cod sursa (job #267674) | Cod sursa (job #3216535)
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
ifstream cin("loto.in");
ifstream cout("loto.out");
int s,n,i,v[101];
struct vladut
{
int a,b,c;
};
vector<vladut>meet;
bool cmp(vladut a,vladut b)
{
return a.a+a.b+a.c<b.a+b.b+b.c;
}
int main()
{
cin>>n>>s;
for(i=1; i<=n; i++)
cin>>v[i];
meet.push_back({0,0,0});
for(i=1; i<=n; i++)
for(int j=i; j<=n; j++)
for(int h=j; h<=n; h++)
meet.push_back({v[i],v[j],v[h]});
sort(meet.begin(),meet.end(),cmp);
/*for(i=1; i<meet.size(); i++)
cout<<meet[i].a<<" "<<meet[i].b<<" "<<meet[i].c<<'\n';*/
int st=1,dr=meet.size()-1;
while(dr>=st)
{
int sum=s-(meet[st].a+meet[st].b+meet[st].c+meet[dr].a+meet[dr].b+meet[dr].c);
if(sum<0&&dr>=1)
dr--;
else if(sum>0&&st<=meet.size()-1)
st++;
else
{
int rsp[7]= {meet[st].a,meet[st].b,meet[st].c,meet[dr].a,meet[dr].b,meet[dr].c};
sort(rsp,rsp+5);
for(i=0; i<=5; i++)
cout<<rsp[i]<<" ";
return 0;
}
}
cout<<-1;
return 0;
}