Cod sursa(job #2397340)

Utilizator robertrRotaru Stefan Robert robertr Data 4 aprilie 2019 12:19:51
Problema Loto Scor 5
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("loto.in");
ofstream g("loto.out");
int n,s,sol[7],v[200005];
int main()
{
    f>>n>>s;
    for(int i=1;i<=n;i++)
        f>>v[i];
    sort(v+1,v+n+1);
    if(s<6*v[1]||s>6*v[n])
        g<<-1;
    else
    {
        int nr=6;
        while(nr)
        {
            int x=s/nr;
            if(s%nr) x++;
            int st=1,dr=n;
            while(st<=dr)
            {
                int mij=(st+dr)/2;
                if(v[mij]<x) st=mij+1;
                else dr=mij-1;
            }
            sol[nr]=v[st];
            s-=v[st];
            nr--;
        }
        for(int i=1;i<=6;i++)
            g<<sol[i]<<" ";
        g<<'\n';
    }
    return 0;
}