Pagini recente » Cod sursa (job #421511) | Cod sursa (job #1391788) | Cod sursa (job #1312779) | Cod sursa (job #1581075) | Cod sursa (job #3131402)
#include <bits/stdc++.h>
using namespace std;
ifstream f("loto.in");
ofstream g("loto.out");
int main() {
int N, S, i, j , k, sum, x;
unordered_map <int, vector<int>> triplet;
vector <int> numere;
f >> N >> S;
///in urmatorul for adaugam intr-un vector numerele pe care Gigel le poate folosi
for (i=0; i<N; i++)
{
f >> x;
numere.push_back(x);
}
///cu ajutorul a trei for-uri voi genera toate posibilitatile de sume, pe care le voi adauga in map
///la fiecare suma creata, voi verifica daca nu exista deja o suma care sa completeze suma actuala incat sa ajungem la SUMA VISATA DE GIGEL
for (i=0; i<N; i++){
for ( j=i ; j< N; j++)
{
for (k=j; k<N ; k++){
sum=numere[i]+numere[j]+numere[k];
if (triplet.find(sum)==triplet.end())
triplet[sum]={numere[i], numere[j], numere[k]};
if (triplet.find(S-sum)!=triplet.end()) {
g << triplet[sum][0] << " " << triplet[sum][1] << " " << triplet[sum][2] << " ";
g << triplet[S - sum][0] << " " << triplet[S - sum][1] << " " << triplet[S - sum][2] << " ";
return 0;
}
}
}
}
g << -1;
return 0;
}