Pagini recente » Cod sursa (job #771363) | Cod sursa (job #137688) | Cod sursa (job #2411430) | Cod sursa (job #2292469) | Cod sursa (job #3184734)
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
ifstream in;
ofstream out;
struct chestie {
int i1, i2, i3, s;
};
int n, s, a[105]; vector<chestie> v;
bool cmp(chestie a, chestie b)
{
return a.s < b.s;
}
int main()
{
in.open("loto.in");
out.open("loto.out");
in >> n >> s;
for (int i = 0; i < n; i++)
{
in >> a[i];
}
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
for (int k = 0; k < n; k++)
{
v.push_back({i,j,k,a[i]+a[j]+a[k]});
}
}
}
sort(v.begin(), v.end(), cmp);
int pt2 = v.size()-1;
for (int i = 0; i < v.size(); i++)
{
while (pt2 > 0 && v[i].s + v[pt2].s > s)
{
pt2--;
}
if (pt2 < 0)
break;
if (v[i].s + v[pt2].s == s)
{
out << a[v[i].i1] << " " << a[v[i].i2] << " " << a[v[i].i3] << " "
<< a[v[pt2].i1] << " " << a[v[pt2].i2] << " " << a[v[pt2].i3];
return 0;
}
}
out << "-1";
return 0;
}