Cod sursa(job #1467357)

Utilizator vladttturcuman vlad vladtt Data 3 august 2015 12:18:44
Problema Loto Scor 0
Compilator cpp Status done
Runda Teme Pregatire ACM Unibuc 2014, Anul I Marime 1.05 kb
#include <fstream>
#include <algorithm>
#include <cstdlib>
#include <bitset>
#define vmax 100000005

using namespace std;

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

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

int a[200];

bitset<vmax*3> f;

void _write(int a,int b)
{

    if(a>b)
        swap(a,b);
    for(i=1;i<=n;i++)
        for(j=i;j<=n;j++)
            for(k=j;k<=n;k++)
            {
                if(a==i+j+k)
                {
                    fout<<i<<' '<<j<<' '<<k<<' ';
                }
                if(b==i+j+k)
                {
                     fout<<i<<' '<<j<<' '<<k;
                     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[i+j+k]=1;

    m=3*a[n];

    for(i=1;i<=m;i++)
    {
        if(f[i]==1 && f[s-i]==1)
        {
            _write(i,s-i);
        }
    }
    fout<<-1;
    return 0;
}