Submission #258753

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
2587532020-08-06 13:53:27atoizSwap (BOI16_swap)C++14
100 / 100
60 ms5264 KiB
#include <iostream>
#include <vector>
#include <algorithm>
#include <cassert>
using namespace std;
const int MAXN = 200007;
int N, A[MAXN * 2], B[MAXN];
int getMin(int i)
{
if (B[i] == 0) return A[i];
int ans;
if ((i & 1)) {
if (B[i ^ 1] == 1) ans = A[i ^ 1];
else if (B[i ^ 1] == -1) ans = min(A[i ^ 1], getMin(i >> 1));
else ans = getMin(i >> 1);
} else {
ans = getMin(i >> 1);
}
if (B[i] == -1) ans = min(ans, A[i]);
return ans;
}
void retrieve(int i, int val)
{
if (B[i] == 0) {
assert(A[i] == val);
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Compilation message (stderr)

swap.cpp: In function 'int main()':
swap.cpp:69:2: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
  for (int i = 1; i <= N; ++i) cout << A[i] << ' '; cout << endl;
  ^~~
swap.cpp:69:52: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
  for (int i = 1; i <= N; ++i) cout << A[i] << ' '; cout << endl;
                                                    ^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...