| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 655064 | horiseun | Fuel Station (NOI20_fuelstation) | C++11 | 151 ms | 8124 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <iostream>
#include <vector>
#include <tuple>
#include <algorithm>
using namespace std;
#define f first
#define s second
int n, d, a, b, x, l, r, m;
vector<pair<int, vector<pair<int, int>>>> stops;
vector<tuple<int, int, int>> v;
bool valid(int val) {
for (int i = 1; i < stops.size(); i++) {
val -= stops[i].f - stops[i - 1].f;
if (val < 0) return false;
int rf = 0;
for (pair<int, int> j : stops[i].s) {
if (val <= j.s) {
rf += j.f;
}
}
val += rf;
}
return true;
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(0);
cin >> n >> d;
for (int i = 0; i < n; i++) {
cin >> x >> a >> b;
if (x >= d) continue;
v.push_back({x, a, b});
}
sort(v.begin(), v.end());
stops.push_back({0, {{0, 0}}});
for (int i = 0; i < v.size(); i++) {
if (get<0>(v[i]) == stops[stops.size() - 1].f) {
stops[stops.size() - 1].s.push_back({get<1>(v[i]), get<2>(v[i])});
} else {
stops.push_back({get<0>(v[i]), {{get<1>(v[i]), get<2>(v[i])}}});
}
}
stops.push_back({d, {{0, 0}}});
l = 0, r = 1e9 + 5;
while (l + 1 != r) {
m = (l + r) / 2;
if (valid(m)) r = m;
else l = m;
}
cout << r << "\n";
}Compilation message (stderr)
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Verdict | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
