Cod sursa(job #3239489)

Utilizator Dia3141Costea Diana Stefania Dia3141 Data 5 august 2024 21:21:46
Problema Loto Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <fstream>
#include <algorithm>
#include <unordered_map>
using namespace std;
ifstream cin("loto.in");
ofstream cout("loto.out");
int n,sum,s,v[101],x[5];
bool ok;
struct Hash{
    bool fr;
    int a,b,c;
};
unordered_map<int,Hash>mp;
void back(int k){
    if(k==4&&ok){
        if(!mp[s].fr)
            mp[s]={1,x[1],x[2],x[3]};
        if(mp[sum-s].fr){
            cout<<mp[sum-s].a<<" "<<mp[sum-s].b<<" "<<mp[sum-s].c<<" "<<x[1]<<" "<<x[2]<<" "<<x[3];
            ok=0;
        }
        return ;
    }
    for(int i=x[k-1];i<=n&&ok;i++)
        if(v[i]+s<=sum){
            s+=v[i];
            x[k]=i;
            back(k+1);
            s-=v[i];
        }
}
int main()
{
    cin>>n>>sum;
    for(int i=1;i<=n;i++)
        cin>>v[i];
    sort(v+1,v+n+1);
    x[0]=1;
    ok=1;
    back(1);
    if(ok)
        cout<<-1;
    return 0;
}