Pagini recente » Borderou de evaluare (job #1602405) | Borderou de evaluare (job #2538240) | Borderou de evaluare (job #2984639) | Cod sursa (job #3350055)
#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;
}