Pagini recente » Cod sursa (job #1860317) | Cod sursa (job #89470) | Cod sursa (job #2717676) | Cod sursa (job #3038811) | Cod sursa (job #2297970)
#include <fstream>
#include <vector>
#include <map>
#include <iostream>
#define NMAX 105
#define pb push_back
using namespace std;
ifstream in("loto.in");
ofstream out("loto.out");
struct Nums{
int a, b, c;
Nums(){
a = 0;
b = 0;
c = 0;
}
Nums(int a, int b, int c){
this->a = a;
this->b = b;
this->c = c;
}
};
int n, S;
vector<int> sums;
int arr[NMAX];
map<int, Nums> my_map;
void read_data(){
in >> n >> S;
for(int i = 0; i<n; i++){
int x;
in >> x;
arr[i] = x;
}
for(int i = 0; i<n; i++){
for(int j = 0; j<n; j++){
for(int k = i; k<=j; k++){
int sum = arr[i] + arr[j] + arr[k];
sums.pb(sum);
my_map[sum] = Nums(arr[i], arr[j], arr[k]);
}
}
}
for(int sum : sums){
auto end = my_map.end();
if(my_map.find(sum) != end && my_map.find(S - sum) != end){
auto num1 = my_map[sum];
auto num2 = my_map[S - sum];
out << num1.a << ' ' << num1.b << ' ' << num1.c << ' ' << num2.a << ' ' << num2.b << ' ' << num2.c << '\n';
return;
}
}
out << "-1\n";
}
int main(){
read_data();
return 0;
}