Cod sursa(job #2508406)

Utilizator BAlexandruBorgovan Alexandru BAlexandru Data 12 decembrie 2019 08:29:27
Problema Cutii Scor 40
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.95 kb
#include <fstream>
#include <algorithm>

using namespace std;

ifstream f("cutii.in");
ofstream g("cutii.out");

struct cutie
{
    int x,y,z;
};
cutie v[3501];

int n,t,i,j;
int lg[3501], maxim, rez;

bool cmp(cutie a, cutie b)
{
    if (a.x<b.x)
        return 1;
    if (a.x==b.x && a.y<b.y)
        return 1;
    if (a.x==b.x && a.y==b.y && a.z<b.z)
        return 1;
    return 0;
}

int main()
{
    f>>n>>t;
    while (t--)
    {
        for (i=1;i<=n;i++)
            f>>v[i].x>>v[i].y>>v[i].z;

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

        rez=0;
        lg[n]=1;
        for (i=n-1;i>=1;i--)
        {
            maxim=0;
            for (j=i+1;j<=n;j++)
                if (v[i].x<v[j].x && v[i].y<v[j].y && v[i].z<v[j].z && lg[j]>maxim)
                    maxim=lg[j];
            lg[i]=maxim+1;
            if (lg[i]>rez)
                rez=lg[i];
        }

        g<<rez<<"\n";
    }
    return 0;
}