Pagini recente » Cod sursa (job #1790395) | Cod sursa (job #1964240) | Cod sursa (job #2515055) | Cod sursa (job #114100) | Cod sursa (job #2919262)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin ("loto.in");
ofstream fout("loto.out");
const int DIM = 101;
const int TOKEN_DIM = 6;
int n, s, cnt = 0;
int v[DIM], sol[TOKEN_DIM + 1];
int getIndex() {
int index;
for (index = 2; index <= n; index++)
if (TOKEN_DIM * v[index] > s)
return index - 1;
return n;
}
int main() {
fin >> n >> s;
for (int i = 1; i <= n; i++)
fin >> v[i];
sort(v + 1, v + n + 1);
int initIndex = getIndex(), initVal = v[initIndex];
int currentSum = initVal * TOKEN_DIM;
for (int i = 1; i <= TOKEN_DIM; i++)
sol[i] = initVal;
for (int i = TOKEN_DIM; i >= 1; i--) {
for (int j = n; j > initIndex; j--)
if (currentSum + (v[j] - initVal) <= s) {
sol[i] = v[j];
currentSum += (v[j] - initVal);
break;
}
}
if (currentSum == s) {
for (int i = 1; i <= TOKEN_DIM; i++)
fout << sol[i] << ' ';
}
else
fout << -1;
return 0;
}