Cod sursa(job #3184908)

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

using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
struct poz{
    int sum;
    short 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=i;
                mat[nr].b=j;
                mat[nr++].c=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<<v[mat[i].a]<< " "<<v[mat[i].b]<<" "<<v[mat[i].c]<<" ";
        fout<<v[mat[j].a]<<" "<<v[mat[j].b]<<" "<<v[mat[j].c];
    }
    else
        fout<<-1;

    return 0;
}