제출 #1270908

#제출 시각아이디문제언어결과실행 시간메모리
1270908kl0989eUnscrambling a Messy Bug (IOI16_messy)C++20
100 / 100
1 ms584 KiB
#include "messy.h" #include <bits/stdc++.h> using namespace std; #define ll long long #define pi pair<int, int> #define pl pair<ll, ll> #define vi vector<int> #define vl vector<ll> #define fi first #define se second #define pb push_back #define all(x) (x).begin(),(x).end() vi resp; string s; void build(int l, int r) { if (l==r) { return; } int m=l+(r-l)/2; for (int i=l; i<=m; i++) { s[i]='1'; add_element(s); s[i]='0'; } for (int i=l; i<=m; i++) { s[i]='1'; } build(m+1,r); for (int i=l; i<=m; i++) { s[i]='0'; } for (int i=m+1; i<=r; i++) { s[i]='1'; } build(l,m); for (int i=m+1; i<=r; i++) { s[i]='0'; } } void get(int l, int r) { if (l==r) { resp[find(all(s),'0')-s.begin()]=l; return; } int m=l+(r-l)/2; int n=s.size(); vi infi(n,0); vi inse(n,0); for (int i=0; i<n; i++) { if (s[i]=='0') { s[i]='1'; if (check_element(s)) { infi[i]=1; } else { inse[i]=1; } s[i]='0'; } } for (int i=0; i<n; i++) { if (infi[i]) { s[i]='1'; } } get(m+1,r); for (int i=0; i<n; i++) { if (infi[i]) { s[i]='0'; } if (inse[i]) { s[i]='1'; } } get(l,m); for (int i=0; i<n; i++) { if (inse[i]) { s[i]='0'; } } } vi restore_permutation(int n, int w, int r) { resp.resize(n); for (int i=0; i<n; i++) { s+='0'; } build(0,n-1); compile_set(); get(0,n-1); return resp; }

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