59092023-10-05 14:45:35mmatedRobotokcpp17Wrong answer 22/5028ms5624 KiB
#include <bits/stdc++.h>
using namespace std;
#define f(i,k,n) for(int i=k; i<n; i++)
#define ll long long
const int inf = INT_MAX;


int lis(vector<int>& p)
{
    vector<int> s;
    int m=p.size();
    f(i,0,m)
    {
        auto it = lower_bound(s.begin(),s.end(),p[i]);
        if(it==s.end())  s.push_back(p[i]);
        else    *it=p[i];
    }
    return s.size();
}

void solve()
{
    int n,m,k;
    cin>>n>>m>>k;
    vector<int>  a(n+1,0);
    int x,y;
    f(i,0,k)
    {
        cin>>x>>y;
        if(a[x]<y)  a[x]=y;
    }
    reverse(a.begin(),a.end());
    a.pop_back();
    cout<<lis(a);

}

int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    int t=1;
    //cin>>t;
    while(t--)  solve();
    return 0;
}
SubtaskSumTestVerdictTimeMemory
base22/50
1Accepted0/03ms1824 KiB
2Wrong answer0/025ms2844 KiB
3Wrong answer0/23ms2624 KiB
4Accepted2/23ms2632 KiB
5Wrong answer0/22ms2708 KiB
6Wrong answer0/23ms2800 KiB
7Wrong answer0/23ms2988 KiB
8Accepted2/23ms3076 KiB
9Accepted2/23ms3208 KiB
10Accepted2/23ms3416 KiB
11Wrong answer0/26ms3624 KiB
12Wrong answer0/210ms3844 KiB
13Accepted2/23ms3912 KiB
14Wrong answer0/224ms4564 KiB
15Accepted2/226ms5532 KiB
16Wrong answer0/223ms4256 KiB
17Accepted4/425ms5480 KiB
18Accepted6/625ms5624 KiB
19Wrong answer0/628ms5612 KiB
20Wrong answer0/624ms4872 KiB