Pagini recente » Cod sursa (job #777033) | Cod sursa (job #2848696) | Cod sursa (job #2848702) | Cod sursa (job #1868632) | Cod sursa (job #3307121)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
struct com {long long sum;int a,b,c;};
bool comp(const com &a,const com &b) {
return a.sum<b.sum;}
int main()
{int n,s;
fin>>n>>s;
vector<long long> v(n);
vector<com> sums;
sums.reserve((long long)n * n * n);
for(int i=0;i<n;i++)
fin>>v[i];
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
for(int z=0;z<n;z++)
sums.push_back({v[i] + v[j] + v[z], (int)v[i], (int)v[j], (int)v[z]});
sort(sums.begin(),sums.end(),comp);
long long i=0,j=sums.size()-1;
while(i<=j) {
if(sums[i].sum+sums[j].sum==s) {fout<<sums[i].a<<" "<<sums[i].b<<" "<<sums[i].c<<" "<<sums[j].a<<" "<<sums[j].b<<" "<<sums[j].c;return 0;}
if(sums[i].sum+sums[j].sum<s) i++;
else j--;
}
fout<<-1;return 0;
}