Cod sursa(job #1430176)

Utilizator isav_costinVlad Costin Andrei isav_costin Data 7 mai 2015 22:59:54
Problema Loto Scor 95
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.03 kb
#include <stdio.h>
#include <algorithm>
using namespace std;
int v[101];
struct loto
{
    int sum, a, b, c;
} rez[400000];
int verif( loto x , loto y )
{
    return x.sum<y.sum;
}
int main()
{
    freopen( "loto.in", "r", stdin );
    freopen( "loto.out", "w", stdout );
    int n, s, k, i, j, nr=1, min=1, max, st=0;
    scanf( "%d%d", &n, &s );
    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++)
                rez[nr].sum=v[i]+v[j]+v[k], rez[nr].a=v[i], rez[nr].b=v[j], rez[nr].c=v[k], nr++;
    max=nr-1;
    sort(rez+1,rez+nr+1,verif);
    while( min<=max && st==0 )
    {
        if( rez[min].sum+rez[max].sum>s )
            max--;
        else if( rez[min].sum+rez[max].sum<s )
            min++;
        else
            st=1;
    }
    if( min>max )
        printf( "-1" );
    else
        printf( "%d %d %d %d %d %d", rez[min].a, rez[min].b, rez[min].c, rez[max].a, rez[max].b, rez[max].c );
    return 0;
}