# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
936261 | velislavgarkov | Bitaro’s Party (JOI18_bitaro) | C++14 | 1202 ms | 371540 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 <iostream>
#include <vector>
using namespace std;
#define endl '\n'
const int MAXN=1e5+10;
const int BUCK=450;
vector <int> v[MAXN], op[MAXN];
vector <pair <int,int> > best[MAXN], help;
int lazy[MAXN], dp[MAXN];
bool used[MAXN];
int n;
void merge_sort(int i, int j) {
int bri, brj, cnt, gr;
bri=brj=cnt=0;
while (cnt<BUCK && (bri<best[i].size() || brj<best[j].size())) {
if (bri==best[i].size()) {
help.push_back(best[j][brj]);
used[best[j][brj].second]=true;
brj++;
} else if (brj==best[j].size()) {
help.push_back(best[i][bri]);
used[best[i][bri].second]=true;
bri++;
} else if (used[best[i][bri].second]) {
bri++;
continue;
} else if (used[best[j][brj].second]) {
brj++;
continue;
} else if (best[i][bri].first>best[j][brj].first) {
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |