Submission #1096496

#TimeUsernameProblemLanguageResultExecution timeMemory
1096496Trisanu_DasPilot (NOI19_pilot)C++17
100 / 100
215 ms36684 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long
 
int dp[1010101], h[1010101], S[1010101], n, q, i, j;

signed main(){
	ios::sync_with_stdio(0);
	cin.tie(0);
	h[0] = 1000005;
	cin >> n >> q;
	for(i = 1, j = 0; i <= n; i++){
		cin >> h[i];
		for(; j && h[S[j]] < h[i]; j --) dp[h[S[j]]] += (i - S[j]) * (S[j] - S[j - 1]);
		S[++j] = i;
	}
	for(; j; j--) dp[h[S[j]]] += (i - S[j]) * (S[j] - S[j - 1]);
	for(i = 1; i <= 1e6; i++) dp[i] += dp[i - 1];
	while(q--){
		int y; cin >> y;
		cout << dp[y] << '\n';
	}
}
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...