Pagini recente » Cod sursa (job #1954590) | Cod sursa (job #341721) | Rating David Dango (Dang0-D) | Cod sursa (job #2085394) | Cod sursa (job #2747751)
#include <iostream>
#include <fstream>
#include <vector>
#include <unordered_map>
using namespace std;
ifstream f("loto.in");
ofstream g("loto.out");
vector <int> v; // numere loto
struct set{
int s1, s2, s3;
};
unordered_map <int, set> sume;
int main(){
int N, S, x, sum;
bool ok = false;
f >> N >> S;
for(int i = 0; i < N; i++){
f >> x;
v.push_back(x);
}
for(int i = 0; i < N; i++)
for(int j = i; j < N; j++)
for(int k = j; k < N; k++){
sum = v[i] + v[j] + v[k];
if(S > sum){
set s;
s.s1 = v[i];
s.s2 = v[j];
s.s3 = v[k];
sume.insert(pair<int, set> (sum, s)); }
if(S > sum && sume.find(S - sum) != sume.end()){
g << v[i] << " " << v[j] << " " << v[k] << " ";
g << sume[S - sum].s1 << " " << sume[S - sum].s2<< " " << sume[S - sum].s3;
i = N;
j = i;
k = j;
ok = true; }
}
if(ok == false)
g << -1;
return 0;
}