| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1368786 | backer8002 | Tycho (BOI23_tycho) | C++20 | 0 ms | 348 KiB |
#include <bits/stdc++.h>
using namespace std;
int main() {
long B,P,D,N;
cin >> B >> P >> D >> N;
vector<long> places(N+2);
places[0] = 0, places.back() = B;
for (int i = 0; i < N; i++)
cin >> places[i+1];
vector values(N+1,vector<long>(P,LONG_MAX));
for (int i = 0; i < P; i++)
values[0][i] = i + places[1] + (places[1] + i-1)/P * D;
for (int i = 0; i < N; i++) {
const long dist = places[i+2] - places[i+1];
for (int j = 0; j < P; j++) {
const long arrivalTime = (places[i+1] - places[i] + j) % P;
if (arrivalTime)
values[i+1][arrivalTime] =(dist + arrivalTime - 1)/P * D + dist + values[i][j];
values[i+1][0] = min(values[i+1][0],(dist - 1)/P * D + dist + values[i][j]+(P-arrivalTime));
}
}
long minimum = LONG_MAX;
for (int i = 0; i < P; i++)
minimum = min(minimum,values.back()[i]);
cout << minimum;
}
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
