Cod sursa(job #3218674)

Utilizator Allie28Radu Alesia Allie28 Data 27 martie 2024 18:48:08
Problema Loto Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.13 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
#include <climits>
#include <queue>
#include <cmath>
#include <unordered_map>
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");

const int LMAX = 105;

struct triplet{
    int x, y, z;
};

unordered_map<int, triplet> mymap;
int v[LMAX];

int main() {
    //fixez 3 nr si apoi mai fixez alte 3
    int n, i, j, k, S;
    fin>>n>>S;
    for (i = 0; i < n; i++) fin>>v[i];
    for (i = 0; i < n; i++) {
        for (j = i; j < n; j++) {
            for (k = j; k < n; k++)
                mymap[v[i]+v[j]+v[k]] = {i, j, k};
        }
    }
    for (i = 0; i < n; i++) {
        for (j = i; j < n; j++) {
            for (k = j; k < n; k++){
                if (mymap.count(S - (v[i]+v[j]+v[k]))) {
                    int s = S - (v[i]+v[j]+v[k]);
                    fout<<v[mymap[s].x]<<" "<<v[mymap[s].y]<<" "<<v[mymap[s].z]<<" "<<v[i]<<" "<<v[j]<<" "<<v[k]<<endl;
                    return 0;
                }
            }
        }
    }
    fout<<-1;

    fin.close();
    fout.close();
    return 0;
}