제출 #1322241

#제출 시각아이디문제언어결과실행 시간메모리
1322241Rainmaker2627Unscrambling a Messy Bug (IOI16_messy)C++20
100 / 100
1 ms568 KiB
#include "messy.h" #include <bits/stdc++.h> using namespace std; int N; void do_add(int l, int r, string s) { if (l>=r) return; int mid=(l+r)/2; string lstr(N, '1'), rstr(N, '1'); for (int i = l; i <= mid; i++) lstr[i]='0'; for (int i = mid+1; i <= r; i++) { s[i]='1'; add_element(s); s[i]=rstr[i]='0'; } do_add(mid+1, r, rstr); do_add(l, mid, lstr); } vector<int> p; void do_check(int l, int r, string s) { if (l>=r) { if (l==r) { for (int i = 0; i < N; i++) if (s[i]=='0') p[i]=l; } return; } int mid=(l+r)/2; string lstr(N, '1'), rstr(N, '1'); for (int i = 0; i < N; i++) { if (s[i]=='1') lstr[i]=rstr[i]='1'; if (s[i]=='0') { s[i]='1'; if (check_element(s)) lstr[i]='1', rstr[i]='0'; else rstr[i]='1', lstr[i]='0'; s[i]='0'; } } do_check(mid+1, r, rstr); do_check(l, mid, lstr); } std::vector<int> restore_permutation(int n, int w, int r) { N=n; string s(n, '0'); do_add(0, n-1, s); compile_set(); p.assign(n, 0); s.assign(n, '0'); do_check(0, n-1, s); return p; }

컴파일 시 표준 에러 (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...