Cod sursa(job #3184749)

Utilizator ConstantinescuTeodoraConstantinescu Teodora ConstantinescuTeodora Data 16 decembrie 2023 18:01:30
Problema Loto Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.07 kb
#include <fstream>
#include <algorithm>
using namespace std;
int V[105];
struct sume{
    long long sum, x,y,z;
} A[1000005];

bool cmp(sume a, sume b)
{
    return a.sum < b.sum;
}
int main()
{
    ifstream fin("loto.in");
    ofstream fout("loto.out");
    int n, S, i;
    fin>>n>>S;
    for(i=1; i<=n; i++)
    {
        fin>>V[i];
    }
    int l=0;
    for(i=1; i<=n; i++)
    {
        for(int j=i; j<=n; j++)
        {
            for(int k=j; k<=n; k++)
            {
                l++;
                A[l].sum = V[i] + V[j] + V[k];
                A[l].x = V[i];
                A[l].y = V[j];
                A[l].z = V[k];
            }
        }
    }
    sort(A+1, A+l+1, cmp);
    int j = l;
    for(i=1; i<=l; i++)
    {
        while(j>=1 && (A[i].sum + A[j].sum)>S)
        {
            j--;
        }
        if(j>=1 && A[i].sum + A[j].sum == S)
        {
            fout<<A[i].x<<" "<<A[i].y<<" "<<A[i].z<<" "<<A[j].x<<" "<<A[j].y<<" "<<A[j].z;
            return 0;
        }
    }
    fout<<-1;
    return 0;
}