Cod sursa(job #2624681)

Utilizator BeraedBeraed Beraed Data 5 iunie 2020 05:28:09
Problema Loto Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.06 kb
#include <bits/stdc++.h>
 
using namespace std;

int main()
{
    int n; // loto 6 din n numere
    int v[101]; // nr date de loteria nationala
    long long s; // suma biletului castigator
    int i,j,l,suma;
    unordered_map<int, pair<int,pair<int,int>>> combinari;

    ifstream f("loto.in");
    ofstream g("loto.out");

    f>>n>>s;

    for(i=1;i<=n;i++) f>>v[i];

    // creeare combinari numere pana in n
    for(i=1;i<=n;i++)
        for(j=i;j<=n;j++)
            for(l=j;l<=n;l++){
                combinari[v[i]+v[j]+v[l]]=make_pair(i,make_pair(j,l));
            }

    // cautare solutie
    for(i=1;i<=n;i++)
        for(j=i;j<=n;j++)
            for(l=j;l<=n;l++){
                suma=v[i]+v[j]+v[l];
                if(combinari.count(s-suma)){
                    g<<v[i]<<" "<<v[j]<<" "<<v[l]<<" "<<v[combinari[s-suma].first]<<" "<<v[combinari[s-suma].second.first]<<" "<<v[combinari[s-suma].second.second];
                    return 0;
                }
            }

    // caz nu am gasit solutie
    g<<-1;
    return 0;
}