为什么wa了6,7,8
查看原帖
为什么wa了6,7,8
1533449
Doctor_10086楼主2025/1/13 02:18
#include<iostream>
#include<deque>
using namespace std;
const int max_n = 1e5 + 5;
int arr[max_n], num_ct, max_size = 0, flag = 0;
deque <int> que, que1;

int main()
{
	cin >> num_ct;
	for (int i = 0; i < num_ct; i++) {
		cin >> arr[i];
		if (!que.empty() && que.front() >= arr[i]) {
			que.clear();
			que1.clear();
			flag = 0;
		}
		while (!que1.empty() && que1.back() < arr[i])que1.pop_back();
		while (!que1.empty() && que1.back() == arr[i]) {
			que1.pop_back();
			flag = 1;
		}
		que.push_back(arr[i]);
		que1.push_back(arr[i]);
		if (que.size() > max_size && flag == 0 && que.back() == que1.front())max_size = que.size();
		if (arr[i] > que1.front())flag = 0;
	}
	/*if (que.size() > max_size && flag == 0 && que.back() == que1.front())max_size++;*/
	max_size = max_size == 1 ? 0 : max_size;
	cout << max_size;
	return 0;
}
2025/1/13 02:18
加载中...