update
This commit is contained in:
parent
c07c6c63c7
commit
951a00aede
@ -32,3 +32,5 @@ add_executable(P1003 ${CMAKE_CURRENT_LIST_DIR}/P1003/P1003.cpp)
|
|||||||
add_executable(P1311 ${CMAKE_CURRENT_LIST_DIR}/P1311/P1311.cpp)
|
add_executable(P1311 ${CMAKE_CURRENT_LIST_DIR}/P1311/P1311.cpp)
|
||||||
|
|
||||||
add_executable(P4017 ${CMAKE_CURRENT_LIST_DIR}/P4017/P4017.cpp)
|
add_executable(P4017 ${CMAKE_CURRENT_LIST_DIR}/P4017/P4017.cpp)
|
||||||
|
|
||||||
|
add_executable(P2782 ${CMAKE_CURRENT_LIST_DIR}/P2782/P2782.cpp)
|
59
P2782/P2782.cpp
Normal file
59
P2782/P2782.cpp
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
#include <iostream>
|
||||||
|
#include <algorithm>
|
||||||
|
|
||||||
|
using std::cin,std::cout,std::sort,std::max;
|
||||||
|
|
||||||
|
constexpr int MAX_N {(int)2e5+5};
|
||||||
|
struct City{
|
||||||
|
int a,b;
|
||||||
|
bool operator<(const City &that)const noexcept{
|
||||||
|
return this->a<that.a;
|
||||||
|
}
|
||||||
|
} city[MAX_N];
|
||||||
|
int n, len[MAX_N],ans;
|
||||||
|
|
||||||
|
template<class T>
|
||||||
|
class ReadNumber{
|
||||||
|
char c;
|
||||||
|
T w,n;
|
||||||
|
public:
|
||||||
|
ReadNumber& operator>>(T &num)noexcept{
|
||||||
|
c=(char)0,w=1,n=0;
|
||||||
|
while(!isdigit(c)){
|
||||||
|
// if constexpr(!std::is_same_v<ull, T>){
|
||||||
|
// if(c=='-')w=-1;
|
||||||
|
// }
|
||||||
|
c = getchar();
|
||||||
|
}
|
||||||
|
while(isdigit(c)){
|
||||||
|
n = n*10 + (c-'0');
|
||||||
|
c = getchar();
|
||||||
|
}
|
||||||
|
num = w*n;
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
ReadNumber<int> readint;
|
||||||
|
#define cin readint
|
||||||
|
|
||||||
|
int main(){
|
||||||
|
cin>>n;
|
||||||
|
for(int i=0;i<n;i++){
|
||||||
|
cin>>city[i].a>>city[i].b;
|
||||||
|
len[i]=1;
|
||||||
|
}
|
||||||
|
sort(city,city+n);
|
||||||
|
for(int i=0;i<n;i++){
|
||||||
|
for(int j=i-1;j>=0;j--){
|
||||||
|
if(city[j].b<city[i].b && len[i]<len[j]+1){
|
||||||
|
len[i]=len[j]+1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for(int i=0;i<n;i++){
|
||||||
|
// cout<<"i:"<<i<<" "<<"len:"<<len[i]<<'\n';
|
||||||
|
ans = max(ans,len[i]);
|
||||||
|
}
|
||||||
|
cout<<ans<<'\n';
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user