# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
93610 | silxikys | Bitaro’s Party (JOI18_bitaro) | C++14 | 1579 ms | 243876 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 <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn = 1e5+5, INF = 987654321;
int N, M, Q;
vector<int> ancestors[maxn];
int SZ;
list<pair<int,int>> bests[maxn];
auto cmp = [](const pair<int,int>& a, const pair<int,int>& b) { return a.first > b.first; };
bool used[maxn], isBusy[maxn];
int main()
{
ios_base::sync_with_stdio(false); cin.tie(NULL);
cin >> N >> M >> Q;
for (int i = 0; i < M; i++) {
int s, e; cin >> s >> e;
ancestors[e].push_back(s);
}
SZ = 75; //each node will store at least the top SZ nodes
//small queries are <= SZ - 1
for (int i = 1; i <= N; i++) {
list<pair<int,int>>& li = bests[i];
li.push_back({0,i});
for (int j: ancestors[i]) {
list<pair<int,int>> add;
for (auto p: bests[j]) {
add.push_back({p.first+1,p.second});
if ((int)add.size() >= SZ) break;
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |