Pagini recente » Cod sursa (job #1364852) | Cod sursa (job #613238) | Cod sursa (job #22120) | Cod sursa (job #227616) | Cod sursa (job #3130534)
#include <iostream>
#include <vector>
#include <fstream>
#include <utility>
#include <algorithm>
std::ifstream in_file("loto.in");
std::ofstream out_file("loto.out");
std::vector<int> find_winning_numbers(int n,int sum,const std::vector<int>& numbers){
std::vector<int> winning_numbers;
std::vector<std::pair<std::pair<int,int>,int>> combinations;
for(int i=0;i<n;++i){
for(int j=i;j<n; ++j){
combinations.push_back(std::make_pair(std::make_pair(numbers[i],numbers[j]),numbers[i]+numbers[j]));
}
}
for(const auto& combination1 : combinations){
for(const auto& combination2 : combinations){
for(const auto& combination3 : combinations){
if(sum==combination1.second+combination2.second+combination3.second){
winning_numbers.push_back(combination1.first.first);
winning_numbers.push_back(combination1.first.second);
winning_numbers.push_back(combination2.first.first);
winning_numbers.push_back(combination2.first.second);
winning_numbers.push_back(combination3.first.first);
winning_numbers.push_back(combination3.first.second);
return winning_numbers;
}
}
}
}
winning_numbers.push_back(-1);
return winning_numbers;
}
int main() {
int n,sum;
in_file>>n>>sum;
std::vector<int> numbers(n);
for (int i=0;i<n;++i) {
in_file>>numbers[i];
}
std::vector<int> winning_numbers=find_winning_numbers(n,sum,numbers);
std::sort(winning_numbers.begin(),winning_numbers.end());
for(const int& number : winning_numbers) {
out_file<<number<<" ";
}
in_file.close();
out_file.close();
return 0;
}