Cod sursa(job #719858)

Utilizator repp4raduRadu-Andrei Szasz repp4radu Data 22 martie 2012 09:50:14
Problema Cutii Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.92 kb
#include <fstream>
#include <algorithm>
#include <vector>

#define MAX 3550

using namespace std;

int n, rez[MAX];

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

bool cmp(cutie a, cutie b)
{
    return a.z < b.z;
}

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

int main()
{
    ifstream in("cutii.in");
    ofstream out("cutii.out");
    int t;
    in>>n>>t;
    while(t--)
    {
        for(int i = 1; i <= n; i++)
        {
            in>>v[i].x>>v[i].y>>v[i].z;
        }
        sort(v + 1, v + n + 1, cmp);
        out<<subsirCrescator()<<'\n';
    }
    return 0;
}