# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1211014 | wazj2024 | Traffic (IOI10_traffic) | C++20 | 0 ms | 0 KiB |
#include "traffic.h"
#include <bits/stdc++.h>
using namespace std;
int LocateCentre(int N, int pp[], int S[], int D[]) {
vector<int> p(N + 1);
vector<int>izq(N + 1);
vector<int>der(N + 1);
for (int i = 1; i < N; i++)p[i] = P[i];
der[0] = 0;
izq[0] = 0;
for (int i = 0; i < N; i++) izq[i + 1] = p[i] + izq[i];
reverse(p.begin(), p.end());
for (int i = 0; i <= N; i++)der[i + 1] = p[i] + der[i];
int min = 2e9 + 5, ans;
for (int i = 0; i < N; i++) {
int t_izq, t_der, t;
t_izq = izq[i];
t_der = der[N - 1 - i];
t = max(t_izq, t_der);
if (t < min) {
min = t;
ans = i;
}
}
return ans;
}