Cod sursa(job #2669589)

Utilizator Edyci123Bicu Codrut Eduard Edyci123 Data 7 noiembrie 2020 12:05:13
Problema Loto Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.96 kb
#include <bits/stdc++.h>

using namespace std;

ifstream f("loto.in");
ofstream g("loto.out");

struct elem
{
    int s, x, y, z;
}k;

vector <elem> a;
bool cmp(elem x, elem y)
{
    return x.s < y.s;
}
int n, s;
int v[105];

int main()
{

    f>>n>>s;
    for(int i=1; i<=n; i++)
        f>>v[i];

    for(int i=1; i<=n; i++)
        for(int j=i; j<=n; j++)
            for(int l=j; l<=n; l++)
            {
                k={v[i]+v[j]+v[l], i, j, l};
                a.push_back(k);
            }

    int st = 0, dr = a.size() - 1;
    sort(a.begin(), a.end(), cmp);

    while(st <= dr)
    {
        if(a[st].s + a[dr].s < s)
            st++;
        else if(a[st].s + a[dr].s > s)
            dr--;
        else
            break;
    }

    if(a[st].s + a[dr].s == s)
        g<<v[a[st].x]<<" "<<v[a[st].y]<<" "<<v[a[st].z]<<" "<<v[a[dr].x]<<" "<<v[a[dr].y]<<" "<<v[a[dr].z];
    else
        g<<-1;

    return 0;

}