Cod sursa(job #2739961)

Utilizator popaandaioanaPopa Anda-Ioana popaandaioana Data 10 aprilie 2021 18:27:32
Problema Loto Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.11 kb
#include <iostream>
#include <bits/stdc++.h>
#include <fstream>
using namespace std;
int n, v[101], s, contor=0, i, j, k;
struct loto
{
    int x, y, z, suma;
}d[1000001];
bool loto_cmp(loto nr1, loto nr2)
{
    return nr1.suma<nr2.suma;
}
int main()
{
    ifstream f ("loto.in");
    ofstream g("loto.out");
    f>>n>>s;
    for(i=1; i<=n; i++)
     f>>v[i];
    for(i=1; i<=n; i++)
        for(j=i; j<=n; j++)
            for(k=j; k<=n; k++)
            {
                contor++;
                d[contor].x=v[i];
                d[contor].y=v[j];
                d[contor].z=v[k];
                d[contor].suma=v[i]+v[j]+v[k];
            }
    sort(d+1, d+contor+1, loto_cmp);
    int a=1, b=contor, ok=0;
    while(a<=b)
    {
        if(d[a].suma+d[b].suma==s)
        {
            ok=1;
            g<<d[a].x<<" "<<d[a].y<<" "<<d[a].z<<" "<<d[b].x<<" "<<d[b].y<<" "<<d[b].z;
            return 0;
        }
        else if(d[a].suma+d[b].suma<s)
            a++;
        else
            b--;
    }
    if(!ok)
        g<<-1;
    f.close();
    g.close();
    return 0;
}