Pagini recente » Istoria paginii runda/doit/clasament | Cod sursa (job #2051891) | Cod sursa (job #2495040) | Cod sursa (job #946163) | Cod sursa (job #2787592)
#include <fstream>
#include <algorithm>
#include <map>
using namespace std;
ifstream cin("loto.in");
ofstream cout("loto.out");
int n,sum;
int v[101];
struct grup3
{
int nr1;
int nr2;
int nr3;
};
multimap<int,grup3> grupuri;
multimap<int,grup3>::iterator it,itSearch;
int main()
{
cin>>n>>sum;
for(int i =0 ; i < n ; i++)
cin>>v[i];
// for(int i = 0 ; i < n;++i)
// {
// for(int j = i-1 ; j < n ; ++j )
// {
// for(int k = j-1; k < n ;k++)
// {
// cout << k << " " << j << " " << i << " " << endl;
// }
// }
// }
//
// return 0;
sort(v,v+n);
/// generate all 3 number combinations
grup3 gr;
for(int i = 0 ; i < n;++i)
{
for(int j = i-1 ; j < n ; ++j )
{
for(int k = j-1; k < n ;k++)
{
gr.nr1 = v[i];
gr.nr2 = v[j];
gr.nr3 = v[k];
grupuri.insert({gr.nr1 + gr.nr2 + gr.nr3,gr});
}
}
}
for(it = grupuri.begin(); it != grupuri.end();it++)
{
int sumaGrup = it->first;
itSearch = grupuri.find(sum-sumaGrup);
if(itSearch != grupuri.end())
{
cout << it->second.nr1 << " "<< it->second.nr2 << " "<< it->second.nr3 << " ";
cout << itSearch->second.nr1 << " "<< itSearch->second.nr2 << " "<< itSearch->second.nr3 ;
return 0;
}
}
cout << "-1";
return 0 ;
}