Cod sursa(job #1894450)

Utilizator delia_ioanaCeapa Delia Ioana delia_ioana Data 26 februarie 2017 20:35:49
Problema Loto Scor 75
Compilator cpp Status done
Runda Arhiva de probleme Marime 1 kb
#include <iostream>
#include <vector>
#include <unordered_map>

using namespace std;

int main()
{
    freopen("loto.in", "r", stdin);
    freopen("loto.out", "w", stdout);

    int n, s;
    scanf("%d %d", &n, &s);

    vector<int> given_nums(n);
    for (int i = 0; i < n; i ++) {
        scanf("%d", &given_nums[i]);
    }

    unordered_map<int, vector<int> > sum3;
    for (int i = 0; i < given_nums.size(); i ++) {
        for (int j = 0; j < given_nums.size(); j ++) {
            for (int k = 0; k < given_nums.size(); k ++) {
                sum3[given_nums[i] + given_nums[j] + given_nums[k]] =
                     vector<int>{given_nums[i], given_nums[j], given_nums[k]};
            }
        }
    }

    for (auto it : sum3) {
        if (sum3.find(s - it.first) != sum3.end()) {
            vector<int> p1 = it.second, p2 = sum3[s - it.first];
            printf("%d %d %d %d %d %d\n", p1[0], p1[1], p1[2], p2[0], p2[1], p2[2]);
            return 0;
        }
    }

    printf("-1\n");

    return 0;
}