Cod sursa(job #1415379)

Utilizator DiamondSealChirita Claudian DiamondSeal Data 4 aprilie 2015 14:47:16
Problema Loto Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 kb
#include <iostream>
#include <fstream>
#include <algorithm>

using namespace std;
ifstream in("loto.in");
ofstream out("loto.out");
int v[10001];
int x[10001];
int n,s,k=6;
void citire()
{
    in>>n>>s;
    for(int i=1;i<=n;i++)
        in>>v[i];
    sort(v+1,v+n);
}
void solve()
{
    int i;
    for(int i=1;i<=n;i++)
        {s-=v[i];
         x[v[i]]++;
         k--;}
    i=n;
    if(s!=0 && k!=0)
    {
        while(s>0 && i!=0 && k!=0)
        {
            if(s-v[i]>=0)
            {
                s-=v[i];
                x[v[i]]++;
                k--;
            }
            else
                i--;
        }
    }
}
int main()
{
    citire();
    solve();
    if(s==0)
    {for(int i=1;i<=n;i++)
        if(x[v[i]]!=0)
        for(int j=1;j<=x[v[i]];j++)
         cout<<v[i]<<" ";}

    else
        cout<<"-1";

    return 0;
}