Cod sursa(job #2782080)

Utilizator vladutzu_finutzuVlad Cacenschi vladutzu_finutzu Data 11 octombrie 2021 16:26:27
Problema Loto Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.89 kb
#include <fstream>
#include <unordered_map>
using namespace std;
ifstream f("loto.in");
ofstream g("loto.out");
struct Triplet{
    int x, y, z;
};
unordered_map<int, Triplet> sume;
int n, s;
int v[101];
int main() {
    f>>n>>s;
    for(int i=1; i<=n; i++)
        f>>v[i];
    
    for(int i=1; i<=n; i++)
        for(int j=i; j<=n; j++)
            for(int k=j; k<=n; k++)
                sume[v[i]+v[j]+v[k]] = {v[i], v[j], v[k]};
    
    for(int i=1; i<=n; i++)
        for(int j=i; j<=n; j++)
            for(int k=j; k<=n; k++)
            {
                int complement = s - v[i] - v[j] - v[k];
                if(sume.count(complement))
                {
                    g<<v[i]<<" "<<v[j]<<" "<<v[k]<<" "<<sume[complement].x<<" "<<sume[complement].y<<" "<<sume[complement].z;
                    
                    return 0;
                }
            }
    
    g<<"-1";
    return 0;
}