Mai intai trebuie sa te autentifici.
Cod sursa(job #2973262)
| Utilizator | Data | 31 ianuarie 2023 17:28:07 | |
|---|---|---|---|
| Problema | Cutii | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.75 kb |
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("cutii.in");
ofstream fout("cutii.out");
struct Data{
int i, j, l;
}x[4000];
int y[4000];
bool C(Data a, Data b)
{if(a.i<b.i || (a.i==b.i && (a.j<b.j || (a.l<=b.l && a.j==b.j))))return 1;
return 0;
}
int main()
{ int n, T;
fin>>n>>T;
for(int i=1;i<=T;i++)
{int maxi=-1;
for(int j=1;j<=n;j++)
fin>>x[j].i>>x[j].j>>x[j].l;
sort(x+1, x+1+n, C);
for(int j=1;j<=n;j++)
{int p=0;
for(int l=j-1;l>0;l--)
if(y[p]<y[l] && x[l].i<x[j].i && x[l].j<x[j].j && x[l].l<x[j].l)p=l;
y[j]=1+y[p];
if(y[j]>maxi)maxi=y[j];
}
fout<<maxi<<"\n";
}
return 0;
}
