Cod sursa(job #2953526)

Utilizator Chris_BlackBlaga Cristian Chris_Black Data 11 decembrie 2022 17:04:05
Problema Cutii Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <fstream>

using namespace std;
ifstream cin("cutii.in");
ofstream cout("cutii.out");
const int N = 3509;
int n,t;
struct cuti
{
    int x,y,z;
    bool operator < (cuti b)
    {
        return (x<b.x&&y<b.y&&z<b.z);
    }
};

int main()
{
    cin>>n>>t;
    while(t--)
    {
        cuti v[N];
        int dp[N],ans = 0; /// dp[i] lungimea celui mai lung subsir care se termina in v[i]
        dp[0] = 0;
        for(int i=1;i<=n;++i)
            cin>>v[i].x>>v[i].y>>v[i].z,dp[i]=0;
        for(int i=1;i<=n;++i)
        {
            dp[i] = 1;
            for(int j=1;j<i;++j)
                if(v[j]<v[i])
                    dp[i] = max(dp[i],dp[j]+1);
            ans = max(ans,dp[i]);
        }
        cout<<ans<<'\n';
    }
    return 0;
}