Cod sursa(job #1276525)

Utilizator LizzardStanbeca Theodor-Ionut Lizzard Data 26 noiembrie 2014 15:43:32
Problema Loto Scor 25
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.14 kb
#include <fstream>
#include <map>
#include <string>
#define _NMAX 101
using namespace std;

ifstream fin ( "loto.in" );
ofstream fout ( "loto.out" );

int main() {
    int n, s, x;
    int v[_NMAX];
    map <int, string> myMap;
    string str;
    fin >> n >> s;
    
    for ( int i = 0; i < n; i++ )
        fin >> v[i];
        
    for ( int i = 0; i < n; i++ )
        for ( int j = i; j < n; j++ )
            for ( int k = j; k < n; k++ ) {
                str = to_string ( v[i] ) + " " + to_string ( v[j] ) + " " + to_string ( v[k] );
                myMap[v[i] + v[j] + v[k]] = str;
            }
            
    map<int, string>::iterator find;
    
    for ( int i = 0; i < n; i++ )
        for ( int j = i; j < n; j++ )
            for ( int k = j; k < n; k++ ) {
                find = myMap.find ( s - v[i] - v[j] - v[k] );
                
                if ( find != myMap.end() ) {
                    fout << v[i] << " " << v[j] << " " << v[k] << " ";
                    fout << find->second;
                    return 0;
                }
            }
            
    fout << -1;
    return 0;
}