Cod sursa(job #1514457)

Utilizator miricelMiricel Daniel Mihai miricel Data 31 octombrie 2015 11:09:01
Problema Loto Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.97 kb
#include <fstream>
#include <algorithm>
using namespace std;
int n,o,p,i,c,q,s,a[102],supa[1000002];
bool ok;
struct grupa
{
    int x,y,z,sp;
}b[1000002];
int sol[6];
int main()
{
ifstream f("loto.in");
ofstream g("loto.out");
f>>n>>s;
for(i=1;i<=n;i++)
    f>>a[i];
    sort(a+1,a+n+1);
for(i=1;i<=n;i++)
    for(o=1;o<=n;o++)
       for(p=1;p<=n;p++)
           {
           c++;
           b[c].x=a[i];
           b[c].y=a[o];
           b[c].z=a[p];
           b[c].sp=a[i]+a[o]+a[p];
           }

for(i=1;i<=c;i++)supa[i]=b[i].sp;
sort (supa+1,supa+c+1);
for(i=1;i<=c;i++)
{
    q=upper_bound(supa+1,supa+c+1,s-supa[i])-supa-1;
    if(q)
        {

            ok=1;
        sol[1]=b[i].x;
        sol[2]=b[i].y;
        sol[3]=b[i].z;
        sol[4]=b[q].x;
        sol[5]=b[q].y;
        sol[6]=b[q].z;
        }
}
sort(sol+1,sol+7);
if(ok)for(i=1;i<=6;i++)g<<sol[i]<<" ";
else g<<"-1";



f.close();
g.close();

    return 0;
}