Cod sursa(job #1467356)

Utilizator horiainfoTurcuman Horia horiainfo Data 3 august 2015 12:17:54
Problema Loto Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <fstream>
#include <algorithm>
#include <bitset>

using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
int v[8],n,s,a[102],i,j,k;
bitset<600000001> b;
void afis(int s)
{
    for(i=1;i<=n;i++)
        for(j=i;a[i]+a[j]<s && j<=n;j++)
            for(k=j;a[i]+a[j]+a[k]<=s && k<=n;k++)
                if(a[i]+a[j]+a[k]==s)
                {
                    fout<<i<<' '<<j<<' '<<k<<' ';
                    return;
                }
}
int main()
{
    fin>>n>>s;
    for(int i=1;i<=n;i++)
        fin>>a[i];
    sort(a+1,a+n+1);
    for(int i=1;i<=n;i++)
        for(j=i;a[i]+a[j]<s && j<=n;j++)
            for(k=j;a[i]+a[j]+a[k]<s && k<=n;k++)
                b[a[i]+a[j]+a[k]] = 1;
    for(int i=1;i<s;i++)
        if(b[i]==1 && b[s-i]==1)
        {
            afis(i);
            afis(s-i);
            return 0;
        }
    fout<<-1;
    return 0;
}