Pagini recente » Cod sursa (job #2943389) | Cod sursa (job #1521447) | Cod sursa (job #2948117) | Cod sursa (job #1501224) | Cod sursa (job #2672295)
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ifstream fin("loto.in");
ofstream fout("loto.out");
const int NMAX = 105;
int n, s, sr[NMAX];
struct SUM{
int sm, p1, p2, p3;
};
vector<SUM> v;
bool comp(SUM a, SUM b)
{
return a.sm < b.sm;
}
void cit()
{
fin >> n >> s;
for (int i = 1; i <= n; ++i)
fin >> sr[i];
fin.close();
}
void constr()
{
for (int i = 1; i <= n; ++i)
for (int j = i; j <= n; ++j)
for (int ij = j; ij <= n; ++ij)
v.push_back({sr[i] + sr[j] + sr[ij], i, j, ij});
sort(v.begin(), v.end(), comp);
}
void solve()
{
unsigned int st = 0, dr = v.size() - 1;
while (st <= dr)
{
int axsm = v[st].sm + v[dr].sm;
if (axsm == s)
break;
else if (axsm < s)
st = st + 1;
else
dr = dr - 1;
}
if (v[st].sm + v[dr].sm != s)
fout << -1;
else fout << sr[v[st].p1] << " " << sr[v[st].p2] << " " << sr[v[st].p3]
<< " " << sr[v[dr].p1] << " " << sr[v[dr].p2] << " " << sr[v[dr].p3];
fout.close();
}
int main()
{
ios::sync_with_stdio(false);
fin.tie(0);
cit();
constr();
solve();
return 0;
}