Submission #38913

#TimeUsernameProblemLanguageResultExecution timeMemory
38913funcsrMemory 2 (JOI16_memory2)C++14
10 / 100
0 ms2020 KiB
#include "Memory2_lib.h"
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
#include <set>
#include <cassert>
using namespace std;
typedef pair<int, int> P;
#define rep(i, n) for (int i=0; i<(n); i++)
#define all(x) x.begin(), x.end()
#define uniq(x) x.erase(unique(all(x)), x.end())
#define index(x, y) (int)(lower_bound(all(x), y) - x.begin())
#define pb push_back
#define _1 first
#define _2 second
#define INF 1145141919
#define MOD 1000000007

int get_min_pos(int N) {
  rep(i, 2*N) rep(j, i) {
    if (Flip(i, j) == N-1) return i;
  }
  return -1;
}

vector<int> G[50];
void Solve(int T, int N) {
  if (T != 1) abort();
  int min_pos = get_min_pos(N);
  assert(min_pos != -1);
  rep(i, 2*N) {
    int a = N-1;
    if (i != min_pos) a = Flip(i, min_pos);
    G[a].pb(i);
  }
  rep(i, N) assert(G[i].size() == 2);
  rep(i, N) Answer(G[i][0], G[i][1], i);
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...