Pagini recente » Cod sursa (job #1647785) | Cod sursa (job #1478008) | Cod sursa (job #1805041) | Cod sursa (job #1358330) | Cod sursa (job #2612409)
#include<fstream>
#include<unordered_map>
#include<vector>
#define MAX_N 100
using namespace std;
unordered_map<int, bool> umap;
vector<int> v;
int n, S;
int main() {
int x;
bool ok, ok2;
v.reserve(MAX_N + 1);
ifstream fin("loto.in");
ofstream fout("loto.out");
fin >> n >> S;
for(int i = 0; i < n; ++i) {
fin >> x;
v.push_back(x);
}
for(int i = 0; i < n; ++i)
for(int j = 0; j < n; ++j)
for(int k = 0; k < n; ++k)
umap[v[i] + v[j] + v[k]] = true;
ok = false;
for(int i = 0; i < n && !ok; ++i)
for(int j = 0; j < n && !ok; ++j)
for(int k = 0; k < n && !ok; ++k) {
x = S - (v[i] + v[j] + v[k]);
if(umap[x]) {
ok = true;
fout << v[i] << " " << v[j] << " " << v[k] << " ";
ok2 = false;
for(int ii = 0; ii < n && !ok2; ++ii)
for(int jj = 0; jj < n && !ok2; ++jj)
for(int kk = 0; kk < n && !ok2; ++kk)
if(v[ii] + v[jj] + v[kk] == x) {
ok2 = true;
fout << v[ii] << " " << v[jj] << " " << v[kk];
fout << "\n";
}
}
}
if(!ok)
fout << "-1";
fin.close();
fout.close();
return 0;
}