Cod sursa(job #2743747)

Utilizator PopelEmilBogdanPopel Emil-Bogdan PopelEmilBogdan Data 23 aprilie 2021 14:45:16
Problema Loto Scor 0
Compilator cpp-64 Status done
Runda Teme Pregatire ACM Unibuc 2014, Anul I Marime 1.19 kb
#include <fstream>
#include <iostream>
#include<map>
#include<vector>
using namespace std;
ifstream fin("loto.in.txt");
ofstream fout("loto.out.txt");

class Combo3{

int a, b, c;

public:
    Combo3(int f = 0, int g = 0, int h = 0): a(f), b(g), c(h){};
    friend ostream& operator<< (ostream& out, Combo3& Combo)
    {
        out<<Combo.a<<" "<<Combo.b<<" "<<Combo.c;
        return out;
    }

};
int main()
{
    int N, S, nr, CurrSum, aux;
    map<int, Combo3> MapOfSums;
    fin>>N>>S;
    int n = N;
    vector<int>Numere;
    for(int t = 0; t < N; t++)
    {
        fin>>nr;
        Numere.push_back(nr);
    }


    for(int i = 0; i < N; i++)
    {
        for(int j = i; j < N; j++)
        {
            for(int k = j; k < N; k++)
            {
                CurrSum = Numere[i] + Numere[j] + Numere[k];
                MapOfSums[CurrSum] = Combo3(Numere[i], Numere[j], Numere[k]);
                if(MapOfSums.find(S - CurrSum) != MapOfSums.end())
                {
                    fout << MapOfSums[CurrSum]<<" "<<MapOfSums[S - CurrSum];
                    return 0;
                }
            }
        }
    }
    fout<<"-1";
    return 0;
}