Cod sursa(job #2739993)

Utilizator linte_robertLinte Robert linte_robert Data 10 aprilie 2021 21:49:08
Problema Loto Scor 10
Compilator cpp-64 Status done
Runda Teme Pregatire ACM Unibuc 2014, Anul I Marime 1.99 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <stack>
#include <deque>
#include <queue>
#include <cstring>
using namespace std;
int suma( vector < int > v ){
    int s = 0;
    for( int i = 0; i < v.size(); i++ ){
        s += v[i];
    }
    return s;
}
int main(){
    vector < int > numere;
    vector < vector < int > > posibilitati_2;
    vector < vector < int > > posibilitati_4;
    ifstream fin( "loto.in" );
    ofstream fout( "loto.out" );
    int n, s;
    fin >> n >> s;
    for( int i = 0; i < n; i++ ){
        int x;
        fin >> x;
        numere.push_back(x);
    }
    for( int i = 0; i < n; i++ ){
        for( int j = 0; j < n; j++ ){
            if( numere[i] + numere[j] < s ){
                vector < int > v;
                v.push_back( numere[i] );
                v.push_back( numere[j] );
                posibilitati_2.push_back(v);
            }
        }
    }
    for( int i = 0; i < posibilitati_2.size(); i++ ){
        for( int j = 0; j < posibilitati_2.size(); j++ ){
            if( suma(posibilitati_2[i]) + suma(posibilitati_2[j]) < s ){
                vector < int > v;
                v.push_back( posibilitati_2[i][0] );
                v.push_back( posibilitati_2[i][1] );
                v.push_back( posibilitati_2[j][0] );
                v.push_back( posibilitati_2[j][1] );
                posibilitati_4.push_back(v);
            }
        }
    }
    int ok =0;
    for( int i = 0; i < posibilitati_4.size() && ok == 0; i++ ){
        for( int j = 0; j < posibilitati_2.size() && ok == 0; j++ ){
            if( suma(posibilitati_4[i]) + suma(posibilitati_2[j]) == s ){
                ok = 1;
                fout << posibilitati_2[j][0] << " " << posibilitati_2[j][1];
                fout << " " << posibilitati_4[i][0] << " " << posibilitati_4[i][1];
                fout << " " << posibilitati_4[i][2] << " " << posibilitati_4[i][3];
            }
        }
    }
    if( ok == 0 ) cout << -1;
}