AC代码:
#include <iostream>
#include <cstring>
#include <string>
using namespace std;
int a[50050];
int dp[50050];
int main()
{
int n;
int l, r;
int mid;
cin >> n;
memset(dp, 0, sizeof(dp));
for (int i=0; i<n; i++)
{
cin >> a[i];
}
int j = 0;
for (int i=0; i<n; i++)
{
if (!j)
{
dp[j++] = a[i];
//cout << dp[j-1] << " dp" << endl;
continue;
}
if (a[i] > dp[j-1])
{
dp[j++] = a[i];
//cout << dp[j-1] << " dp" << endl;
continue;
}
// cout << j << " " << dp[j] << endl;
l = 0;
r = j-1;
while (l <= r)