Cod sursa(job #1347179)

Utilizator redducks100Andronache Simone redducks100 Data 18 februarie 2015 20:31:44
Problema Loto Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.98 kb
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;

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

struct l_3{
    int a,b,c,sum;
};

l_3 v[400000];
int n,s,o[101],nr=0;

int compp(l_3 x,l_3 y )
{
    return x.sum < y.sum;
}

int main()
{
    f>>n>>s;
    for(int i=1;i<=n;i++)
        f>>o[i];
    for(int i=1;i<=n;i++)
        for(int j=i;j<=n;j++)
            for(int k=j;k<=n;k++)
            {
                v[++nr].sum = o[i]+o[j]+o[k];
                v[nr].a = o[i];
                v[nr].b=o[j];
                v[nr].c=o[k];
            }
    sort(v+1,v+nr+1,compp);
    int ls=1,lf=nr;
    while(ls<=lf)
    {
        if(v[ls].sum+v[lf].sum > s)
            lf--;
        else  if(v[ls].sum+v[lf].sum < s)
            ls++;
        else break;
    }
    if(ls>lf)
        g<<"-1\n";
    else
        g<<v[ls].a<<" "<<v[ls].b<<" "<<v[ls].c<<" "<<v[lf].a<<" "<<v[lf].b<<" "<<v[lf].c<<"\n";

    return 0;
}