Submission #1147726

#TimeUsernameProblemLanguageResultExecution timeMemory
1147726loghsgsMountains (NOI20_mountains)C++20
36 / 100
2095 ms2888 KiB
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
using namespace std;

int N, num, loc, ret, ans;
unsigned long long H[300000], val;
bool visit[300000];

int main() {
	cin >> N;
	for (int i = 0; i < N; i++) {
		cin >> H[i];
		visit[i] = false;
	}
	num = N;
	ans = 0;
	while (num >= 3) {
		val = 0;
		loc = 0;
		for (int i = 0; i < N; i++) {
			if (!visit[i] && H[i] > val) {
				val = H[i];
				loc = i;
			}
		}
		visit[loc] = true;
		ret = 0;
		for (int i = loc + 1; i < N; i++) {
			if (!visit[i] && H[i] < val) ret++;
		}
		int l = loc;
		for (int i = loc - 1; i >= 0; i--) {
			if (visit[i]) l--;
		}
		ans += l * ret;
		num--;
	}
	cout << ans;
	return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...