Cod sursa(job #3266550)

Utilizator cristian46290Petre Cristian cristian46290 Data 9 ianuarie 2025 13:59:42
Problema Cutii Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.01 kb
#include <iostream>
#include <fstream>
#include <algorithm>

using namespace std;

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

const int nMax = 3e3 + 5e2 + 5;

int T, n;
int lis[nMax];
struct DIMENSIUNI
{
    int x, y, z;
}a[nMax];

bool cmp(DIMENSIUNI z,DIMENSIUNI b)
{
    return (z.x > b.x && z.y > b.y && z.z > b.z);
}

int main()
{
    f >> n >> T;
    while(T){
        for (int i = 1;i <= n;i++){
            f >> a[i].x >> a[i].y >> a[i].z;
            lis[i] = 0;
        }
        sort(a+1,a+n+1,cmp);
        //for (int i = 1;i <= n;i++)cout << a[i].x << " " << a[i].y << " " << a[i].z << '\n';
        lis[0] = 0;
        lis[1] = 1;
        int Max = 1;
        for (int i = 2;i <= n;i++){
            int Max2 = 0;
            for (int j = 1;j < i;j++){
                if (cmp(a[j],a[i]) == true && lis[j] > Max2)Max2 = lis[j];
            }
            lis[i] = Max2 + 1;
            Max = max(lis[i],Max);
        }
        g << Max << '\n';
        T--;
    }
}