Pagini recente » Cod sursa (job #3185968) | Cod sursa (job #170867) | Cod sursa (job #1769019) | Cod sursa (job #2218324) | Cod sursa (job #2740658)
#include <fstream>
#include <unordered_map>
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
class ThreeNumbers{
private:
int x;
int y;
int z;
public:
ThreeNumbers(){
}
ThreeNumbers(int x, int y, int z){
this -> x = x;
this -> y = y;
this -> z = z;
}
ThreeNumbers(const ThreeNumbers& threeNumbers){
x = threeNumbers.x;
y = threeNumbers.y;
z = threeNumbers.z;
}
ThreeNumbers& operator=(const ThreeNumbers& threeNumbers){
if (this != &threeNumbers){
x = threeNumbers.x;
y = threeNumbers.y;
z = threeNumbers.z;
}
return *this;
}
friend ostream& operator<< (ostream&, ThreeNumbers&);
};
ostream& operator<< (ostream& out, ThreeNumbers& threeNumbers){
out << threeNumbers.x << " " << threeNumbers.y << " " << threeNumbers.z;
return out;
}
int main() {
unordered_map <int, ThreeNumbers> hashmap;
int n, s;
fin >> n >> s;
int v[102];
for (int i = 0; i < n; i++){
fin >> v[i];
}
for (int i = 0; i < n; i++){
for (int j = i; j < n; j++){
for (int k = j; k < n; k++){
int currentSum = v[i] + v[j] + v[k];
hashmap[currentSum] = ThreeNumbers(v[i], v[j], v[k]);
if (hashmap.find(s - currentSum) != hashmap.end() ){
fout << hashmap[currentSum] << " " << hashmap[s - currentSum];
return 0;
}
}
}
}
fout << "-1";
return 0;
}