京东笔试第一题CPP代码

#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;

int main() {
	int N;
	while (cin >> N) {
		vector<int> m_vec(N, 0);
		for (int i = 0; i < N; i++)
			cin >> m_vec[i];
		int result = 0;
		vector<int> m_min(N, ~(1 << 31));
		for (int i = N - 2; i >= 0; i--) {
			m_min[i] = min(m_vec[i + 1], m_min[i + 1]);
		}
		int m_max = -1;
		for (int i = 0; i < N; i++) {
			if (m_vec[i] > m_max)
				m_max = m_vec[i];
			if (m_max <= m_min[i]) {
				result++;
				m_max = -1;
			}
		}
		cout << result << endl;
	}
	return 0;
}

#京东##笔试题目##笔经##C++工程师##秋招#
全部评论

相关推荐

点赞 6 评论
分享
牛客网
牛客企业服务