Pagini recente » Cod sursa (job #3288788) | Cod sursa (job #730836) | Cod sursa (job #797824) | Cod sursa (job #1535283) | Cod sursa (job #2316691)
#include <bits/stdc++.h>
using namespace std;
ifstream f("cutii.in");
ofstream g("cutii.out");
int n,t,i,k,a[3510],b[3510],aib[3510][3510];
int main()
{
f>>n>>t;
for(;t;t--)
{
for(i=1;i<=n;i++)
{
f>>k;
f>>a[k]>>b[k];
}
int Ans=0;
for(k=1;k<=n;k++)
{
int ans=0;
for(int p=a[k]-1;p;p-=p&-p)
for(int r=b[k]-1;r;r-=r&-r)
ans=max(aib[p][r],ans);
for(int p=a[k];p<=n;p+=p&-p)
for(int r=b[k];r<=n;r+=r&-r)
aib[p][r]=max(aib[p][r],ans+1);
Ans=max(Ans,ans+1);
}
g<<Ans<<'\n';
for(i=1;i<=n;i++)
for(int p=a[i];p<=n;p+=p&-p)
for(int r=b[i];r<=n;r+=r&-r)
aib[p][r]=0;
}
return 0;
}