Cod sursa(job #2778811)

Utilizator BlaugranasEnal Gemaledin Blaugranas Data 2 octombrie 2021 11:11:15
Problema Cutii Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.88 kb
#include<bits/stdc++.h>
using namespace std;
ifstream F("cutii.in");
ofstream G("cutii.out");
int n,t,a[3503][3503],m,w,i,j,k;
pair<int,pair<int,int> > p[3503];
int main()
{
    F>>n>>t;
    while(t--) {
        for(m=0,i=1;i<=n;++i)
            F>>p[i].first>>p[i].second.first>>p[i].second.second;
        sort(p+1,p+n+1);
        for(i=1;i<=n;++i) {
            for(w=0,j=p[i].second.first-1;j;j-=j&-j)
                for(k=p[i].second.second-1;k;k-=k&-k)
                    w=max(w,a[j][k]);
            for(++w,j=p[i].second.first;j<=n;j+=j&-j)
                for(k=p[i].second.second;k<=n;k+=k&-k)
                    a[j][k]=max(a[j][k],w);
            m=max(m,w);
        }
        G<<m<<"\n";
        for(i=1;i<=n;++i)
            for(k=p[i].second.first;k<=n;k+=k&-k)
                for(j=p[i].second.second;j<=n;j+=j&-j)
                    a[k][j]=0;
    }
}