网易游戏笔试第四题
#include<vector> #include<iostream> #include<sstream> #include<algorithm> #define int2 pair<int,int> using namespace std; int main() { int n; cin >> n; vector<int> nums(n + 1, 0); for (int i = 0; i < n; i++) cin >> nums[i]; vector<int> feng, gu; int i = 0; while (i < n) { while (i < n && nums[i] <= nums[i + 1]) i++; feng.push_back(nums[i]); while (i < n && nums[i] >= nums[i + 1]) i++; gu.push_back(nums[i]); } gu.pop_back(); sort(feng.begin(), feng.end()); sort(gu.begin(), gu.end()); int m; cin >> m; while (m--) { int h; cin >> h; auto it_feng = upper_bound(feng.begin(), feng.end(), h); auto it_gu = upper_bound(gu.begin(), gu.end(), h); cout << (it_gu - gu.begin()) - (it_feng - feng.begin()) + 1 << endl; } return 0; }