Pagini recente » Cod sursa (job #1456421) | Cod sursa (job #1204689) | Cod sursa (job #1754084) | Rating Heveli Richard (hevelir) | Cod sursa (job #2359258)
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
struct triplet
{
int sum, x, y, z;
bool operator < (const triplet other) const
{
return sum < other.sum;
}
};
int N, S, v[105];
vector <triplet> A;
int main()
{
fin >> N >> S;
for(int i = 1; i <= N; i++)
fin >> v[i];
for(int i = 1; i <= N; i++)
for(int j = 1; j <= N; j++)
for(int k = 1; k <= N; k++)
A.push_back({v[i] + v[j] + v[k], v[i], v[j], v[k]});
sort(A.begin(), A.end());
int st = 0, dr = A.size() - 1;
while(st <= dr)
{
int s = A[st].sum + A[dr].sum;
if(s == S)
{
fout << A[st].x << ' ' << A[st].y << ' ' << A[st].z << ' ' << A[dr].x << ' ' << A[dr].y << ' ' << A[dr].z << '\n';
return 0;
}
else if(s > S)
dr--;
else
st++;
}
fout << -1 << '\n';
return 0;
}