Cod sursa(job #3350055)

Utilizator MihneaStoicaMihnea Teodor Stoica MihneaStoica Data 5 aprilie 2026 09:32:03
Problema Loto Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.54 kb
#pragma GCC optimize("Ofast,unroll-loops")
#include <bits/stdc++.h>
using namespace std;

using uint = unsigned int;
using ll   = long long;
using ull  = unsigned long long;
using ld   = long double;

#if 0
#define int  ll
#define uint ull
#endif

/**
 *!Problem: Loto
 * URL: https://infoarena.ro/problema/loto
 * TL: 90 ms
 * ML: 64 MB
 *
 * Good Luck!
*/
inline void init() {
    int n, s;
    cin >> n >> s;

    vector<int> v(n + 1);
    for (int i = 1; i <= n; i++) { cin >> v[i]; }

    map<int, tuple<int, int, int>> mp;
    for (int i = 1; i <= n; i++) {
        for (int j = 1; j <= n; j++) {
            for (int k = 1; k <= n; k++) { mp[v[i] + v[j] + v[k]] = {i, j, k}; }
        }
    }

    for (int i = 1; i <= n; i++) {
        for (int j = 1; j <= n; j++) {
            for (int k = 1; k <= n; k++) {
                int sum = v[i] + v[j] + v[k];
                if (mp.find(s - sum) != mp.end()) {
                    tuple<int, int, int> t = mp[s - sum];
                    cout << v[i] << " " << v[j] << " " << v[k] << " "
                         << get<0>(t) << " " << get<1>(t) << " " << get<2>(t)
                         << '\n';
                    return;
                }
            }
        }
    }
    
    cout << -1 << '\n';
}
inline void tc() {}

#define FIO  1
#define FILE "loto"

signed main() {
#if FIO
    freopen(FILE ".in", "r", stdin);
    freopen(FILE ".out", "w", stdout);
#endif
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    init();
    int tt;
    if (!(cin >> tt)) return 0;
    while (tt--) tc();
    return 0;
}