Cod sursa(job #1467411)

Utilizator vladttturcuman vlad vladtt Data 3 august 2015 13:01:33
Problema Loto Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.99 kb
#include <fstream>
#include <algorithm>
#include <cstdlib>

using namespace std;

ifstream fin("loto.in");
ofstream fout("loto.out");

int i,j,k,n,m,s;

int a[200],sum[1000010];

struct pampam{

int t1,t2,t3;

}f[1000010];

void _write(int poz,int poz1)
{
    fout<<f[poz].t1<<' '<<f[poz].t2<<' '<<f[poz].t3<<' ';
    fout<<f[poz1].t1<<' '<<f[poz1].t2<<' '<<f[poz1].t3;
}


void caut_bin(int s,int poz1)
{

    int p=*upper_bound(sum+1,sum+m+1,s);


    if(p<=m && sum[p]==s)
    {
        _write(p,poz1);
        exit(0);
    }

}

int main()
{
    fin>>n>>s;

    for(i=1;i<=n;i++)
        fin>>a[i];

    sort(a+1,a+1+n);

    for(i=1;i<=n;i++)
        for(j=i;j<=n;j++)
            for(k=j;k<=n;k++)
            {
                f[++m].t1=a[i];
                f[m].t2=a[j];
                f[m].t3=a[k];
                sum[m]=a[i]+a[j]+a[k];
            }


    for(i=1;i<=m;i++)
        caut_bin(s-sum[i],i);

    fout<<-1;

    return 0;
}