Pagini recente » schwankerweiterte | Cod sursa (job #3245281) | Cod sursa (job #3231157) | Cod sursa (job #625256) | Cod sursa (job #2739380)
#include <iostream>
#include <fstream>
#include <vector>
#include <stack>
#include <deque>
#include <queue>
#include <cstring>
using namespace std;
int sum(vector <int> v){
int s = 0;
for(int i = 0; i < v.size(); i++ ){
s += v[i];
}
return s;
}
void afisare( vector < int > v ){
for( int i = 0; i < v.size(); i++ ){
cout << v[i] << " ";
}
cout << endl;
}
vector <int> concatenare(vector < int > x, vector < int > y){
for( int i=0; i < y.size(); i++ ){
x.push_back( y[i] );
}
return x;
}
int main(){
vector < int > v;
ifstream fin( "loto.in" );
ofstream fout( "loto.out" );
int suma, n;
fin >> n;
fin >> suma;
for( int i = 0; i < n; i ++ ){
int a;
fin >> a;
v.push_back( a );
}
vector < vector < int > > suma1;
vector < vector < int > > suma2;
vector < vector < int > > solutie;
for( int i = 0; i < v.size(); i ++ ){
for( int j = 0; j < v.size(); j++ ){
if( v[i] + v[j] <= suma ){
vector < int > x;
x.push_back(v[i]);
x.push_back(v[j]);
suma1.push_back(x);
}
}
}
for( int i = 0; i < suma1.size(); i ++ ){
for ( int j = 0; j < suma1.size(); j++ ){
if( sum( suma1[i] ) + sum( suma1[j] ) <= suma ){
suma2.push_back( concatenare( suma1[i], suma1[j] ) );
}
}
}
int ok = 0;
for( int i = 0; i < suma2.size() && ok == 0; i ++ ){
for ( int j = 0; j < suma1.size() && ok == 0; j++ ){
if( sum( suma2[i] ) + sum( suma1[j] ) == suma ){
solutie.push_back( concatenare( suma2[i], suma1[j] ) );
ok = 1;
}
}
}
if ( ok == 0 ) cout << -1;
else{
for ( int i = 0 ; i < 6; i ++ ){
fout << solutie[0][i] << " ";
}
}
}