| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1367584 | psigurd | Nile (IOI24_nile) | C++20 | 29 ms | 8160 KiB |
#include<bits/stdc++.h>
using namespace std;
using ll = long long;
ll oink(vector<vector<int>> &v, int d, int left, int right){
ll cost = 0;
ll MIN = 1000000000000000000;
for (int i = left; i <= right; i++){
cost += v[i][1];
if (((i - left) % 2 == 0) || (i > left && i + 1 <= right && abs(v[i - 1][0] - v[i + 1][0]) <= d)){
ll diff = v[i][2] - v[i][1];
MIN = min(MIN, diff);
}
}
return cost + MIN;
}
vector<ll> calculate_costs(vector<int> w, vector<int> a, vector<int> b, vector<int> e){
int n = w.size();
vector<ll> ans;
vector<vector<int>> v;
for (int i = 0; i < n; i++){
v.push_back({w[i], b[i], a[i]});
}
sort(v.begin(), v.end());
for (auto &d : e){
int left = 0; int right = 0;
ll c = 0;
for (int i = 1; i < n; i++){
if (abs(v[i][0] - v[i - 1][0]) <= d){
right++;
continue;
}
c += oink(v, d, left, right);
left = i; right = i;
}
c += oink(v, d, left, right);
ans.push_back(c);
}
return ans;
}
| # | 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... | ||||
