Cod sursa(job #2745208)

Utilizator DenisTroacaDenis Troaca DenisTroaca Data 26 aprilie 2021 00:57:24
Problema Loto Scor 25
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.61 kb
#include <fstream>
#include <unordered_map>
#include <string>
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
int n,aux, s, v[101],ok;
unordered_map<string, string> umap;
int main(){
    fin>>n>>s;
    for(int i=0;i<n;i++)
        fin>>v[i];
    for(int i=0;i<n;i++){
        for(int j=0;j<n;j++){
            for(int k=0;k<n;k++){
                aux=v[i]+v[j]+v[k];
                umap[to_string(aux)]=to_string(i)+'+'+to_string(j)+'+'+to_string(k);
                if(umap[to_string(s-aux)].size()>1){
                    fout<<v[i]<<" "<<v[j]<<" "<<v[k]<<" ";
                    int l=0;
                    string index;
                    while(umap[to_string(s-aux)][l]!='+'){
                        index+=umap[to_string(s-aux)][l];
                        l++;
                    }
                    fout<<v[stoi(index)]<<" ";
                    l++;
                    index.clear();
                    while(umap[to_string(s-aux)][l]!='+'){
                        index+=umap[to_string(s-aux)][l];
                        l++;
                    }
                    fout<<v[stoi(index)]<<" ";
                    l++;
                    index.clear();
                    while(l<umap[to_string(s-aux)].size()){
                        index+=umap[to_string(s-aux)][l];
                        l++;
                    }
                    fout<<v[stoi(index)];
                    ok=1;
                    break;
                }
            }
            if(ok==1)
                break;
        }
        if(ok==1)
            break;
    }
}