Cod sursa(job #3375947)

Utilizator BursucTANKNistor Adam Gabriel BursucTANK Data 14 noiembrie 2026 14:14:53
Problema Loto Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.18 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
struct Triplet {
    int suma,nr1,nr2,nr3;
} v[200001];
int a[105];
bool cmp(Triplet x,Triplet y) {
    return x.suma<y.suma;
}
int main() {
    int n,i,m,c=0,j,k,st,dr,mij;
    fin>>n>>m;
    for(i=1;i<=n;i++) {
        fin>>a[i];
    }
    for(i=1;i<=n;i++) {
        for(j=i;j<=n;j++) {
            for(k=j;k<=n;k++) {
                c++;
                v[c].nr1=a[i];
                v[c].nr2=a[j];
                v[c].nr3=a[k];
                v[c].suma=a[i]+a[j]+a[k];
            }
        }
    }
    sort(v+1,v+c+1,cmp);
    for(i=1;i<=c;i++) {
        st=1;dr=c;
        while(st<=dr) {
            mij=(st+dr)/2;
            if(v[mij].suma>m-v[i].suma) {
                dr=mij-1;
            }
            else if(v[mij].suma<m-v[i].suma) {
                st=mij+1;
            }
            else if(v[mij].suma==m-v[i].suma) {
                fout<<v[i].nr1<<" "<<v[i].nr2<<" "<<v[i].nr3<<" "<<v[mij].nr1<<" "<<v[mij].nr2<<" "<<v[mij].nr3;
                return 0;
            }
        }
    }
    fout<<-1;
    return 0;
}