| 
 复制代码#include <iostream>
#include <cstdio>
#include <algorithm>
#include <vector>
#define N__________ main
#define N_________ for
#define N___________ vector
#define N____________ iterator
#define AAAA (N_ i = 1; i <= N; ++i)
#define BBBB (N_ i = N - 1; i >= 1; --i)
#define ABBB void
#define AABB sort
#define BAAA const
#define AAAB scanf("%d%d",&N__[i].N___,&N__[i].N____)
using namespace std;typedef 
int N_;typedef bool N________;BAAA N_ MAXN = 5000 + 5;struct Node{
N_ N___
, N____;N________ operator<(BAAA Node & 
x) BAAA{   return (N___ < x.N___) ? 1 : ( 
(N___ == x.N___) ? ( (N____ < x.N____) ? 
1 : 0 ) : 0 );}
}N__ [MAXN];N_ 
N__________(){
N_ N;cin
>> N;
N_________ AAAA AAAB;AABB(N__ + 1, N__ 
+ 1 + N);N___________
<N_> N_____;N_____.push_back
(N__[N].N____);
N_________ BBBB{N___________<N_>::N____________ N_____________  = lower_bound
(N_____.begin(),N_____.end(),N__[i].N____);(N_____________ != N_____.end())
? ABBB(*N_____________ = N__[i].N____): ABBB(N_____.push_back
(N__[i].N____));}
cout << N_____.size
();return 0;}
 |