c++
第一题
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int N;
int main() {
while(cin >> N) {
vector<int> arr;
for (int i = 0; i < N; i++) {
int a;
cin >> a;
arr.push_back(a);
}
vector<int> dp(arr.begin(), arr.end());
sort(arr.begin(), arr.end());
int num = 0;
int xmin;
int xmax;
for (int i = 0; i < N; i++) {
if (dp[i] == arr[i])
num += 1;
else
{
xmin = dp[i];
xmax = dp[i];
int left = i;
for (int j = i; j < N; j++) {
xmin = min(xmin, dp[j]);
xmax = max(xmax, dp[j]);
if (xmin == arr[left] && xmax == arr[j]) {
num++;
i = j;
break;
}
}
}
}
cout << num;
}
return 0;
}