# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
703025 | 406 | Swap (BOI16_swap) | C++17 | 1061 ms | 42988 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;
#define int long long
const int N = 2e5 + 5;
const int L = 20;
const long long INF = 1ll << 60;
unordered_map<int, vector<int>> dp[N];
int n, a[4 * N];
void merge(vector<int> &a, const vector<int> b, const vector<int> c) {
assert(b.size() && c.size());
assert(b.size() == c.size());
int ptr = 0;
for (int i = 0; ptr < b.size(); i++) {
for (int j = 0; j < (1 << i); j++) {
a.push_back(b[j + ptr]);
}
for (int j = 0; j < (1 << i); j++) {
a.push_back(c[j + ptr]);
}
ptr += 1 << i;
}
}
void DP(int i, int j) {
if (i >= n / 2) {
dp[i][j] = {j};
return;
}
int r = a[2 * i + 1];
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... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |