Cod sursa(job #2744743)

Utilizator bestman4111Tiberiu Niculae bestman4111 Data 25 aprilie 2021 01:33:21
Problema Loto Scor 95
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.14 kb
#include<iostream>
#include<fstream>
#include<unordered_map>
using namespace std;

ifstream cit("loto.in");
ofstream afis("loto.out");

struct Num{
    int x, y;
};

unordered_map <int, Num> hesh;
bool ok = 0;

int main()
{
    int N, S, nr[101], sum;
    cit>>N>>S;
    for(int i = 0; i < N; i++){
        cit>>nr[i];
    }
    for(int i = 0; i < N; i++){
        for(int j = i; j < N; j++){
            for(int k = j; k < N; k++){
                sum = nr[i] + nr[j] + nr[k];
                if(hesh.find(S - sum) != hesh.end()){
                    afis<<nr[i]<<" "<<nr[j]<<" "<<nr[k]<<" ";
                    afis<<hesh.find(S - sum)->second.x<<" "<<hesh.find(S - sum)->second.y<<" "<<S - sum - hesh.find(S - sum)->second.x - hesh.find(S - sum)->second.y;
                    ok = 1;
                    i = j = k = N + 1;
                }
                else
                {
                    Num tup;
                    tup.x = nr[i];
                    tup.y = nr[j];
                    hesh[sum] = tup;
                }
            }
        }
    }
    if(!ok){
        afis<<-1;
    }
    return 0;
}