Cod sursa(job #1172538)

Utilizator alex_bucevschiBucevschi Alexandru alex_bucevschi Data 17 aprilie 2014 17:20:56
Problema Loto Scor 85
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.02 kb
#include <fstream>
#include <vector>
#include <algorithm>

using namespace std;
struct P
{
    int a,b,c,d;
};
vector<P>S;
vector<P>::iterator it,itt;
P aux;

int i,j,k,n,s,suma,a[110],sum;
ifstream fin("loto.in");
ofstream fout("loto.out");
bool crit(P a,P b)
{
    return a.a<b.a;
}
int main()
{

    fin>>n>>s;
    for(i=1;i<=n;i++)
        fin>>a[i];
    for(i=1;i<=n;i++)
        for(j=i;j<=n;j++)
            for(k=j;k<=n;k++)
            {
                suma=a[i]+a[j]+a[k];
                aux.a=suma;
                aux.b=a[i];
                aux.c=a[j];
                aux.d=a[k];
                S.push_back(aux);
            }
    sort(S.begin(),S.end(),crit);
    for(it=S.begin();it->a<=s;it++)
    {
        aux.a=s-it->a;
        itt=lower_bound(S.begin(),S.end(),aux,crit);
        if(it->a+itt->a==s)
        {
            fout<<it->b<<' '<<it->c<<' '<<it->d<<' '<<itt->b<<' '<<itt->c<<' '<<itt->d;
            return 0;
        }
    }
    fout<<"-1";
    return 0;
}