Cod sursa(job #2876604)

Utilizator indianu_talpa_iuteTisca Catalin indianu_talpa_iute Data 23 martie 2022 12:31:57
Problema Loto Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.97 kb
#include <bits/stdc++.h>
#define MAXN 105

using namespace std;

ifstream fin("loto.in");
ofstream fout("loto.out");

struct suma {
    int i, j, k;
};

int main() {
    int n, s, arr[MAXN];
    unordered_map<int, suma> sume;
    fin >> n >> s;
    for (int i = 0; i < n; i++)
        fin >> arr[i];
    for (int i = 0; i < n; i++)
        for (int j = i; j < n; j++)
            for (int k = j; k < n; k++) {
                int sum = arr[i] + arr[j] + arr[k];
                sume[sum] = {arr[i], arr[j], arr[k]};
            }
    for (int i = 0; i < n; i++)
        for (int j = i; j < n; j++)
            for (int k = j; k < n; k++) {
                int dif = s - (arr[i] + arr[j] + arr[k]);
                if (sume.count(dif)) {
                    fout << arr[i] << ' ' << arr[j] << ' ' << arr[k] << ' ';
                    fout << sume[dif].i << ' ' << sume[dif].j << ' ' << sume[dif].k;
                    return 0;
                }
            }
    fout << -1;
    return 0;
}