Cod sursa(job #3129003)

Utilizator AlexC23Codreanu Alex-Cosmin AlexC23 Data 11 mai 2023 23:20:30
Problema Loto Scor 5
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.91 kb
#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;
}