Pagini recente » Cod sursa (job #2298724) | Cod sursa (job #31240) | Cod sursa (job #2883759) | Cod sursa (job #2220816) | Cod sursa (job #1452928)
#include <fstream>
#include <unordered_map>
#define f first
#define s second
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
int v[100],i,j,n,sum,k;
bool ans = false;
unordered_map <int, pair< pair<int,int> , pair<int,int> > > myMap;
pair< pair<int,int> , pair<int,int> > t;
int main()
{
fin>>n>>sum;
for( i = 1 ; i <= n ; ++i )
{
fin>>v[ i ];
}
for( i = 1 ; i <= n ; ++i )
for( j = 1 ; j <= n ; ++j )
for( k = 1 ; k <= n ; ++k )
myMap[ sum - v[ i ] - v[ j ] - v[ k ] ] = make_pair( make_pair( v[ i ] + v[ j ] + v[ k ] , i ) , make_pair( j , k ) );
for( i = 1 ; i <= n && !ans ; ++i )
for( j = 1 ; j <= n && !ans ; ++j )
for( k = 1 ; k <= n && !ans ; ++k )
{
if( myMap[ v[ i ] + v[ j ] + v[ k ] ].f.f == sum - v[ i ] - v[ j ] - v[ k ] )
{
t = myMap[ v[ i ] + v[ j ] + v[ k ] ];
fout<<v[ i ]<<' '<<v[ j ]<<' '<<v[ k ]<<' '<<v[ t.f.s ]<<' '<<v[ t.s.f ]<<' '<<v[ t.s.s ];
ans = true;
}
}
if( !ans )
fout<<"-1";
return 0;
}