Cod sursa(job #3184893)

Utilizator Bolfa_DBolfa Diana Bolfa_D Data 17 decembrie 2023 12:29:50
Problema Loto Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.28 kb
#include <bits/stdc++.h>

using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
struct poz{
    int sum;
    int a,b,c;
};

poz mat[1000010];
int v[110], n,s,nr;


bool ch(poz x, poz y)
{
    if(x.sum<=y.sum)
        return 1;
    return 0;
}

int main()
{
    fin>>n>>s;

    for(int i=0;i<n;++i)
        fin>>v[i];

    for(int i=0;i<n;++i)
        for(int j=0;j<n;++j)
            for(int k=0;k<n;++k)
            {
                mat[nr].sum=v[i]+v[j]+v[k];
                mat[nr].a=v[i];
                mat[nr].b=v[j];
                mat[nr++].c=v[k];
            }

    sort(mat,mat+nr, ch);

//    int st, dr, mij, b;
//    bool ok=0;
//    for(int i=0;i<nr && ok==0;++i)
//    {
//        b=s-mat[i].sum;
//        st=1; dr=nr-1;
//
//        while(st<dr)
//        {
//            mij=(st+dr)/2;
//            if(mat[mij].sum==b) st=dr=mij;
//            else if(mat[mij].sum<b) st = mij+1; ///3 5 9 10 13
//            else dr=mij-1;
//        }
//
//        if(mat[st].sum==b)
//        {
//            fout<<mat[st].a<< " "<<mat[st].b<<" "<<mat[st].c<<" ";
//            fout<<mat[i].a<<" "<<mat[i].b<<" "<<mat[i].c;
//            ok=1;
//        }
//
//    }

    if(ok==0)
        fout<<-1;

    return 0;
}