4944 | 2023. 04. 07 17:47:58 | TomaSajt | Benzinkút üzemeltetés (55) | cpp17 | Elfogadva 55/55 | 4ms | 3640 KiB |
#include <bits/stdc++.h>
using namespace std;
int main() {
cin.tie(0), ios::sync_with_stdio(0);
int n, k;
cin >> n >> k;
vector<int> tot_val(n), pos(n), val(n), prev(n, -1);
for (int i = 0; i < n; i++) {
cin >> pos[i] >> val[i];
for (int j = 0; j < i; j++) {
if (pos[i] - pos[j] >= k && tot_val[i] < tot_val[j]) {
tot_val[i] = tot_val[j];
prev[i] = j;
}
}
tot_val[i] += val[i];
}
int curr = max_element(tot_val.begin(), tot_val.end()) - tot_val.begin();
cout << tot_val[curr] << '\n';
stack<int> res;
while (curr != -1) {
res.push(curr);
curr = prev[curr];
}
cout << res.size();
while (!res.empty()) {
cout << ' ' << res.top() + 1;
res.pop();
}
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
base | 55/55 | ||||||
1 | Elfogadva | 0/0 | 3ms | 1824 KiB | |||
2 | Elfogadva | 0/0 | 4ms | 2228 KiB | |||
3 | Elfogadva | 3/3 | 3ms | 2200 KiB | |||
4 | Elfogadva | 3/3 | 3ms | 2412 KiB | |||
5 | Elfogadva | 3/3 | 2ms | 2492 KiB | |||
6 | Elfogadva | 3/3 | 3ms | 2620 KiB | |||
7 | Elfogadva | 3/3 | 3ms | 2836 KiB | |||
8 | Elfogadva | 3/3 | 3ms | 3060 KiB | |||
9 | Elfogadva | 3/3 | 3ms | 3148 KiB | |||
10 | Elfogadva | 3/3 | 3ms | 3144 KiB | |||
11 | Elfogadva | 3/3 | 3ms | 3236 KiB | |||
12 | Elfogadva | 3/3 | 3ms | 3276 KiB | |||
13 | Elfogadva | 4/4 | 3ms | 3356 KiB | |||
14 | Elfogadva | 4/4 | 4ms | 3356 KiB | |||
15 | Elfogadva | 5/5 | 4ms | 3360 KiB | |||
16 | Elfogadva | 6/6 | 4ms | 3568 KiB | |||
17 | Elfogadva | 6/6 | 4ms | 3640 KiB |