Cod sursa(job #3184903)

Utilizator Bolfa_DBolfa Diana Bolfa_D Data 17 decembrie 2023 12:39:56
Problema Loto Scor 85
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.03 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=i;j<n;++j)
            for(int k=j;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 i=0, j=nr-1;

    while(mat[i].sum+mat[j].sum!=s && i<=j)
    {
        if(mat[i].sum+mat[j].sum<s)
            ++i;
        else
            --j;
    }




    if(mat[i].sum+mat[j].sum==s)
    {
        fout<<mat[i].a<< " "<<mat[i].b<<" "<<mat[i].c<<" ";
        fout<<mat[j].a<<" "<<mat[j].b<<" "<<mat[j].c;
    }
    else
        fout<<-1;

    return 0;
}