Pagini recente » Cod sursa (job #2796863) | Cod sursa (job #3288859) | Cod sursa (job #367809) | Cod sursa (job #3201555) | Cod sursa (job #3163787)
#include<iostream>
#include<fstream>
#include<set>
#include<unordered_map>
#include<vector>
using namespace std;
ifstream in("loto.in");
ofstream out("loto.out");
struct Sum{
int x,y,z;
};
int s,n;
vector<int> values;
void read(){
in>>n>>s;
values.resize(n);
for(int i=0;i<n;i++){
in>>values[i];
}
}
void solve(){
unordered_map<int, Sum> m;
for(int x: values){
for(int y:values){
for(int z:values){
int sum = x+y+z;
m[sum] = Sum{x,y,z};
}
}
}
for(auto iter = m.begin(); iter!=m.end(); iter++){
int current_sum = iter->first;
int need = s - current_sum;
auto other = m.find(need);
if(other != m.end()){
out<<iter->second.x<<" "<<iter->second.y<<" "<<iter->second.z<<" ";
out<<other->second.x<<" "<<other->second.y<<" "<<other->second.z;
return;
}
}
out<<-1;
}
int main(){
read();
solve();
return 0;
}