# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1133812 | Math4Life2020 | Road Closures (APIO21_roads) | C++20 | 2096 ms | 33008 KiB |
#include "roads.h"
#include <bits/stdc++.h>
using namespace std;
using ll = long long; using pii = pair<ll,ll>;
mt19937 gen;
const ll Nm = 1e5+5; ll N;
const ll K = 100; //sqrt(N)
ll ans[Nm];
vector<pii> adj[Nm];
vector<ll> fadj[Nm];
ll deg[Nm];
pii radj[Nm]; //{number, cost}
vector<ll> itpl; //inverse topological sort
ll dp0[Nm]; //no path up
ll dp1[Nm]; //path up
ll slvH(ll k) { //O(NlogN) independent of k
for (ll i=(N-1);i>=0;i--) {
ll x = itpl[i];
vector<ll> vaug; //augment vector
ll val0 = 0; //minimum value
for (ll y: fadj[x]) {
val0 += dp0[y];
vaug.push_back(dp1[y]-dp0[y]);
}
sort(vaug.begin(),vaug.end()); //can upgrade quicksort -> quickselect for true O(N)
ll NDEL = max(0LL,deg[x]-k);
# | 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... |