# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
933202 | LucaIlie | Swap (BOI16_swap) | C++17 | 172 ms | 49752 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;
const int MAX_N = 2e5;
int v[2 * MAX_N + 2];
unordered_map<int, int> dp[MAX_N + 1];
int DP( int i, int x ) {
if ( dp[i][x] != 0 )
return dp[i][x];
if ( x < v[2 * i] && x < v[2 * i + 1] )
dp[i][x] = i;
else if ( v[2 * i] < v[2 * i + 1] )
dp[i][x] = DP( 2 * i, x );
else {
if ( x < v[2 * i] ) {
DP( 2 * i, x );
DP( 2 * i + 1, x );
if ( dp[2 * i][x] < dp[2 * i + 1][x] )
dp[i][x] = DP( 2 * i, x );
else
dp[i][x] = DP( 2 * i + 1, x );
}
else {
DP( 2 * i, v[2 * i] );
DP( 2 * i + 1, v[2 * i] );
if ( dp[2 * i][v[2 * i]] < dp[2 * i + 1][v[2 * i]] )
dp[i][x] = DP( 2 * i + 1, x );
# | 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... |