Pagini recente » Cod sursa (job #874347) | Cod sursa (job #1802624) | Cod sursa (job #2675152) | Cod sursa (job #146034) | Cod sursa (job #3128583)
#include <iostream>
#include <fstream>
#include <unordered_map>
#include <vector>
using namespace std;
int main()
{
ifstream f("loto.in");
ofstream g("loto.out");
unordered_map <int, vector<int>> ht;
int n, s;
f>>n>>s;
int A[n+1];
for(int i=1; i<=n; i++)
f>>A[i];
for(int i=1; i<=n; i++)
for(int j=i; j<=n; j++)
for(int k=j; k<=n; k++) {
vector<int> p2 = {A[i], A[j], A[k]};
ht[s-(A[i] + A[j] + A[k])] = p2;
}
bool ok = 0;
for(int i=1; i<=n; i++) {
for (int j = i; j <= n; j++) {
int sum1 = A[i]+A[j];
for (int k = j; k <= n; k++) {
int sum = sum1+A[k]-1;
if (ht.find(sum) != ht.end()) {
g << A[i] << " " << A[j] << " " << A[k] << " " << ht[sum][0] << " " << ht[sum][1] << " "
<< ht[sum][2] << endl;
ok = 1;
break;
}
}
if(ok) break;
}
if(ok) break;
}
if(!ok){
g<<-1;
}
f.close();
g.close();
// unordered_map<int, pair<int, int>> ht;
// int n, s;
// f>>n>>s;
// int A[n+1];
//
// for(int i=1; i<=n; i++)
// for(int j=i; j<=n; j++) {
// pair<int, int> p2 = make_pair(A[i], A[j]);
// ht[A[i] + A[j]] = p2;
// }
//
// for(int i=1; i<=n; i++) {
// for (int j = i; j <= n; j++) {
// int dif1 = s - (A[i] + A[j]);
// if(ht.find(dif1) != ht.end()){
//
// }
// }
// }
return 0;
}