Submission #1186525

#TimeUsernameProblemLanguageResultExecution timeMemory
1186525pedroslreyUnscrambling a Messy Bug (IOI16_messy)C++20
100 / 100
1 ms584 KiB
#include <bits/stdc++.h> #include "messy.h" using namespace std; void make_queries(int l, int r, int n) { if (r == l + 1) return; int m = (l + r)/2; string q(n, '0'); for (int i = l; i < r; ++i) q[i] = '1'; for (int i = l; i < m; ++i) { q[i] = '0'; add_element(q); q[i] = '1'; } make_queries(l, m, n); make_queries(m, r, n); } void calc_answer(int l, int r, string &s, vector<int> &ans) { int n = s.size(); if (r == l + 1) { for (int i = 0; i < n; ++i) if (s[i] == '1') ans[i] = l; return; } string lft(n, '0'), rgt(n, '0'); for (int i = 0; i < n; ++i) if (s[i] == '1') { s[i] = '0'; if (check_element(s)) lft[i] = '1'; else rgt[i] = '1'; s[i] = '1'; } int m = (l + r)/2; calc_answer(l, m, lft, ans); calc_answer(m, r, rgt, ans); } vector<int> restore_permutation(int n, int _, int __) { make_queries(0, n, n); compile_set(); vector<int> ans(n); string s(n, '1'); calc_answer(0, n, s, ans); return ans; }

Compilation message (stderr)

messy.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
messy_c.h:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
#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...