请问这份代码是哪个网站的?求原文网址qwq
#include <iostream>
#include <algorithm>
using namespace std;
int dp[200005];
int dp1[200005];
int arr[200005];
int cmp(int n,int m){
return n > m;
}
int main(){
int n = 0;
while(cin >> arr[++n]);
n--;
dp[1] = dp1[1] = arr[1];
int cnt = 1,cnt1 = 1;
for (int i = 2;i <= n;i++){
if (arr[i] <= dp[cnt])
dp[++cnt] = arr[i];
else {
int* p = upper_bound(dp + 1,dp + cnt,arr[i],cmp);
*p = arr[i];
}
if (arr[i] > dp1[cnt1])
dp1[++cnt1] = arr[i];
else {
int* p = lower_bound(dp1 + 1,dp1 + cnt,arr[i]);
*p = arr[i];
}
}
cout << cnt << endl << cnt1;
return 0;
}