Pagini recente » Cod sursa (job #1640529) | Cod sursa (job #1574619) | Cod sursa (job #2854146) | Cod sursa (job #1280946) | Cod sursa (job #2894491)
#include <fstream>
#include <vector>
#include <unordered_map>
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
struct team
{
int val1, val2, val3;
};
vector <int> v;
unordered_map <int, team> sume;
int N, S, i, j, k, nr, suma, found;
int main()
{
fin >> N >> S;
for(i=0; i<N; i++){
fin >> nr;
v.push_back(nr);
}
for(i=0; i<N; i++)
for(j=i; j<N; j++)
for(k=j; k<N; k++){
suma = v[i] + v[j] + v[k];
if(S > suma){
team t;
t.val1 = v[i];
t.val2 = v[j];
t.val3 = v[k];
sume.insert(pair<int,team> (suma, t));
}
if(S > suma && sume.find(S - suma) != sume.end()){
int poz = S - suma;
fout << v[i] <<" "<< v[j] <<" "<< v[k] <<" ";
fout <<sume[poz].val1<<" "<<sume[poz].val2<<" "<<sume[poz].val3;
i = N;
j = i;
k = j;
found = 1;
}
}
if(found == 0)
fout <<"-1";
return 0;
}