Cod sursa(job #1667107)

Utilizator SilviuIIon Silviu SilviuI Data 28 martie 2016 17:39:19
Problema Cutii Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <stdio.h>
#include <algorithm>
#define nmax 3510

using namespace std;

struct date { int x,y,z; };

int n,m;
int dp[nmax];
date t[nmax];

bool cmp(const date &a,const date &b)
{
    return 1LL*a.x*a.y*a.z>1LL*b.x*b.y*b.z;
}

int main()
{
    freopen("cutii.in","r",stdin);
    freopen("cutii.out","w",stdout);

    scanf("%d %d",&n,&m);

    for (int o=1;o<=m;o++) {

        for (int i=1;i<=n;i++) scanf("%d %d %d",&t[i].x,&t[i].y,&t[i].z);

        for (int i=1;i<=n;i++) dp[i]=1;

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

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

        int sol=0;

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

        printf("%d\n",sol);

    }

    return 0;
}