제출 #71456

#제출 시각아이디문제언어결과실행 시간메모리
71456RezwanArefin01Unscrambling a Messy Bug (IOI16_messy)C++17
100 / 100
4 ms640 KiB
#include <bits/stdc++.h> #include "messy.h" using namespace std; int n; vector<int> p; void add(int l, int r) { if(l == r) return; string base(n, '1'); int m = l + r >> 1; for(int i = l; i <= r; i++) base[i] = '0'; for(int i = l; i <= m; i++) { string s = base; s[i] = '1'; add_element(s); } add(l, m); add(m + 1, r); } void solve(int l, int r, vector<int> v) { if(l == r) { p[v[0]] = l; return; } int m = l + r >> 1; string base(n, '1'); vector<int> L, R; for(int i : v) base[i] = '0'; for(int i : v) { string s = base; s[i] = '1'; if(check_element(s)) L.push_back(i); else R.push_back(i); } solve(l, m, L); solve(m + 1, r, R); } vector<int> restore_permutation(int N, int w, int r) { n = N; add(0, n - 1); compile_set(); vector<int> v; for(int i = 0; i < n; i++) v.push_back(i); p = vector<int>(n, 0); solve(0, n - 1, v); return p; }

컴파일 시 표준 에러 (stderr) 메시지

messy.cpp: In function 'void add(int, int)':
messy.cpp:11:15: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
     int m = l + r >> 1; 
             ~~^~~
messy.cpp: In function 'void solve(int, int, std::vector<int>)':
messy.cpp:24:17: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
     } int m = l + r >> 1; 
               ~~^~~
#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...