Cod sursa(job #2628338)

Utilizator tryharderulbrebenel mihnea stefan tryharderul Data 15 iunie 2020 15:54:44
Problema Loto Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.96 kb
#include <iostream>
#include <stdio.h>
#include <algorithm>

using namespace std;

int n,sum,i,j,k,nr,r,l;
int v[103];

struct loto{
    int a,b,c,s;
}x[1000001];

bool cmp(loto x, loto y){
    return x.s < y.s;
}

int main()
{
    freopen("loto.in","r",stdin);
    freopen("loto.out","w",stdout);

    scanf("%d%d",&n,&sum);

    for(i=1;i<=n;i++)
        scanf("%d",&v[i]);

    for(i=1;i<=n;i++)
        for(j=i;j<=n;j++)
            for(k=j;k<=n;k++)
                x[++nr].a = v[i],
                x[nr].b = v[j],
                x[nr].c = v[k],
                x[nr].s = v[i]+v[j]+v[k];

    sort(x+1,x+nr+1,cmp);
    l=1;r=nr;
    while(l<=r){

        if(x[l].s+x[r].s==sum){

            printf("%d %d %d %d %d %d",x[l].a,x[l].b,x[l].c,x[r].a,x[r].b,x[r].c);
            return 0;
        }
        else if(x[l].s + x[r].s<sum)
            l++;
        else
            r--;
    }

    printf("-1");
    return 0;
}