Pagini recente » Cod sursa (job #2232833) | Cod sursa (job #3214447) | Cod sursa (job #42060) | Cod sursa (job #551820) | Cod sursa (job #3129003)
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
ifstream f("loto.in");
int v2[6];
int index = 0;
vector<int>v;
int a;
int n, s;
f>>n>>s;
for(int i = 0;i<n;i++) {
f >> a;
v.push_back(a);
}
make_heap(v.begin(),v.end());
int minim = v.back();
int sminim = 5*minim;
while(s>0 and index <6 and !(v.empty()))
{
if(s-sminim-v.front()>=0)
{
v2[index] = v.front();
index++;
sminim = sminim - minim;
s = s-v2[index-1];
}
else
{
pop_heap(v.begin(),v.end());
v.pop_back();
}
}
f.close();
ofstream g("loto.out");
if(s!=0)
{
g<<-1;
}
else {
for (int j = 0; j < 6; j++) {
g << v2[j] << " ";
}
}
g.close();
return 0;
}