Cod sursa(job #3266792)

Utilizator Luca_georgescuLucageorgescu Luca_georgescu Data 10 ianuarie 2025 15:46:19
Problema Cutii Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.02 kb
#include <bits/stdc++.h>
#define int long long

using namespace std;

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

struct vec
{
    int x,y,z;
}a[3505];

int n,t,dp[3505];

void reset()
{
    for (int i=0; i<=n; i++ )
        dp[i]=0;
}

bool cmp(vec a, vec b)
{
    /*if ( a.x>b.x || a.x<b.x )
        return a.x<b.x;

    if ( a.y>b.y || a.y<b.y )
        return a.y<b.y;
    else
        return a.z<b.z;*/

    return a.x<b.x;

}

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

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

        reset();

        dp[1]=1;
        for (int i=1; i<=n; i++ )
            for (int j=1; j<i; j++ )
                if ( a[i].x>a[j].x && a[i].y>a[j].y && a[i].z>a[j].z )
                    dp[i]=max(dp[i],dp[j]+1);

        int maxi=-1;
        for (int i=1; i<=n; i++ )
            maxi=max(maxi,dp[i]);

        g << maxi << '\n';

        t--;
    }
    return 0;
}