Cod sursa(job #3001478)

Utilizator Andrei_TudorAndrei Tudor Andrei_Tudor Data 13 martie 2023 18:25:00
Problema Loto Scor 85
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.14 kb
#include <fstream>
#include <unordered_map>
using namespace std;
ifstream cin("loto.in");
ofstream cout("loto.out");
struct var { int x; int y; int z; };
unordered_map <int, var> fr1;
unordered_map <int, int> fr2;
int v[105];
int main()
{
    int n, S;
    cin >> n >> S;
    for(int i = 1; i <= n; i ++){
        cin >> v[i];
    }
    for(int i = 1; i <= n; i ++){
        for(int j = 1; j <= n; j ++){
            for(int k = 1; k <= n; k ++){
                fr1[v[i] + v[j] + v[k]].x = v[i];
                fr1[v[i] + v[j] + v[k]].y = v[j];
                fr1[v[i] + v[j] + v[k]].z = v[k];
                fr2[v[i] + v[j] + v[k]] ++;
            }
        }
    }
    for(int i = 1; i <= n; i ++){
        for(int j = 1; j <= n; j ++){
            for(int k = 1; k <= n; k ++){
                if(fr2[S - v[i] - v[j] - v[k]] > 0){
                    cout << v[i] << " " << v[j] << " " << v[k] << " " << fr1[S - v[i] - v[j] - v[k]].x << " " << fr1[S - v[i] - v[j] - v[k]].y << " " << fr1[S - v[i] - v[j] - v[k]].z;
                    return 0;
                }
            }
        }
    }
    cout << -1;
    return 0;
}