Pagini recente » Cod sursa (job #558175) | Cod sursa (job #45315) | Cod sursa (job #544256) | Cod sursa (job #45479) | Cod sursa (job #2612491)
#include <fstream>
#include <set>
#include <algorithm>
using namespace std;
ifstream fin("cutii.in");
ofstream fout("cutii.out");
const int NMAX = 3505;
int n, t, x, y, z;
typedef pair <int, int> p;
p v[NMAX];
int LIS()
{
set <p> s;
s.insert(v[1]);
for (int i = 2; i <= n; ++i)
{
auto it = s.lower_bound(v[i]);
if (it == s.end())
s.insert(v[i]);
else if (*it > v[i])
{
s.erase(it);
s.insert(v[i]);
}
}
return s.size();
}
void read()
{
for (int i = 1; i <= n; ++i)
{
fin >> x >> y >> z;
v[x] = { y, z };
}
}
int main()
{
fin >> n >> t;
while (t--)
{
read();
fout << LIS() << "\n";
}
fout.close();
return 0;
}