Pagini recente » Istoria paginii utilizator/cozmin97 | Cod sursa (job #3123044) | Cod sursa (job #1276570) | Cod sursa (job #1272236) | Cod sursa (job #2744743)
#include<iostream>
#include<fstream>
#include<unordered_map>
using namespace std;
ifstream cit("loto.in");
ofstream afis("loto.out");
struct Num{
int x, y;
};
unordered_map <int, Num> hesh;
bool ok = 0;
int main()
{
int N, S, nr[101], sum;
cit>>N>>S;
for(int i = 0; i < N; i++){
cit>>nr[i];
}
for(int i = 0; i < N; i++){
for(int j = i; j < N; j++){
for(int k = j; k < N; k++){
sum = nr[i] + nr[j] + nr[k];
if(hesh.find(S - sum) != hesh.end()){
afis<<nr[i]<<" "<<nr[j]<<" "<<nr[k]<<" ";
afis<<hesh.find(S - sum)->second.x<<" "<<hesh.find(S - sum)->second.y<<" "<<S - sum - hesh.find(S - sum)->second.x - hesh.find(S - sum)->second.y;
ok = 1;
i = j = k = N + 1;
}
else
{
Num tup;
tup.x = nr[i];
tup.y = nr[j];
hesh[sum] = tup;
}
}
}
}
if(!ok){
afis<<-1;
}
return 0;
}