Cod sursa(job #1386757)

Utilizator vladttturcuman vlad vladtt Data 13 martie 2015 11:10:11
Problema Cutii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.04 kb
#include <fstream>
#include <algorithm>

using namespace std;
ifstream fin("cutii.in");
ofstream fout("cutii.out");

struct box{

long long l,c,h;

}a[7000];


long long n,i,s,maxx,max_tot,l,c,h;

bool cmp(box a, box b)
{
    return ((long long)a.l * a.c < (long long)b.l * b.c);
}


int main()
{
    fin>>n;
    for(i=1;i<=n;i++)
    {
        fin>>l>>c>>h;


        if(l>c)
            swap(l,c);
        if(l>h)
            swap(l,h);
        if(c>h)
            swap(c,h);

        a[++s].l=l;
        a[s].c=c;
        a[s].h=h;

        a[++s].l=l;
        a[s].c=h;
        a[s].h=c;

        a[++s].l=c;
        a[s].c=h;
        a[s].h=l;
    }

    n=s;

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

    for(i=1;i<=n;i++)
    {

        maxx=0;

        for(int j=1;j<i;j++)
            if(a[i].l>a[j].l && a[i].c>a[j].c)
                if(a[j].h>maxx)
                    maxx=a[j].h;
       a[i].h+=maxx;
       if(a[i].h>max_tot)
            max_tot=a[i].h;
    }

    fout<<max_tot;

    return 0;
}