9375 | 2024. 02. 21 10:39:07 | szil | MI bróker (50 pont) | cpp17 | Elfogadva 50/50 | 995ms | 7148 KiB |
#include <bits/stdc++.h>
using ll = long long;
using namespace std;
#pragma GCC optimize("O3,unroll-loops")
const int MAXN = 10'001;
int a[MAXN], ans[501][501];
vector<int> pos[501];
void solve() {
int n, m; cin >> n >> m;
for (int i = 1; i <= n; i++) {
cin >> a[i];
pos[a[i]].emplace_back(i);
}
for (int l = 1; l <= 500; l++) {
set<int> points;
for (int i = 1; i <= n; i++) {
if (a[i] <= l) {
points.insert(i);
}
}
if (points.empty()) continue;
int cost = -a[*points.begin()];
for (int r = 500; r >= l+1; r--) {
for (int i : pos[r]) {
if (*points.begin() < i) {
auto bef = points.lower_bound(i);
bef--;
if (a[*bef] <= l) {
cost += a[i];
auto nxt = points.lower_bound(i);
if (nxt != points.end()) {
cost -= a[*nxt];
if (a[*nxt] > l) {
points.erase(nxt);
}
}
points.insert(i);
}
}
}
ans[l][r] = cost;
}
}
while (m--) {
int a, b; cin >> a >> b;
cout << ans[a][b] << "\n";
}
}
int main() {
ios_base::sync_with_stdio(0); cin.tie(0);
int t = 1;
// cin >> t;
while (t--) {
solve();
}
return 0;
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
base | 50/50 | ||||||
1 | Elfogadva | 0/0 | 4ms | 3812 KiB | |||
2 | Elfogadva | 0/0 | 865ms | 5196 KiB | |||
3 | Elfogadva | 1/1 | 3ms | 3416 KiB | |||
4 | Elfogadva | 1/1 | 3ms | 4004 KiB | |||
5 | Elfogadva | 2/2 | 72ms | 4800 KiB | |||
6 | Elfogadva | 2/2 | 948ms | 5780 KiB | |||
7 | Elfogadva | 2/2 | 947ms | 5844 KiB | |||
8 | Elfogadva | 1/1 | 441ms | 5320 KiB | |||
9 | Elfogadva | 1/1 | 514ms | 5416 KiB | |||
10 | Elfogadva | 2/2 | 856ms | 6364 KiB | |||
11 | Elfogadva | 2/2 | 731ms | 6284 KiB | |||
12 | Elfogadva | 2/2 | 810ms | 6656 KiB | |||
13 | Elfogadva | 2/2 | 815ms | 6696 KiB | |||
14 | Elfogadva | 2/2 | 777ms | 6632 KiB | |||
15 | Elfogadva | 3/3 | 995ms | 6828 KiB | |||
16 | Elfogadva | 3/3 | 990ms | 6812 KiB | |||
17 | Elfogadva | 3/3 | 991ms | 7092 KiB | |||
18 | Elfogadva | 3/3 | 986ms | 7032 KiB | |||
19 | Elfogadva | 3/3 | 990ms | 7028 KiB | |||
20 | Elfogadva | 3/3 | 989ms | 7024 KiB | |||
21 | Elfogadva | 3/3 | 992ms | 7140 KiB | |||
22 | Elfogadva | 3/3 | 986ms | 7140 KiB | |||
23 | Elfogadva | 3/3 | 987ms | 7140 KiB | |||
24 | Elfogadva | 3/3 | 987ms | 7148 KiB |