제출 #578922

#제출 시각아이디문제언어결과실행 시간메모리
578922Belgutei동굴 (IOI13_cave)C++17
0 / 100
159 ms468 KiB
#include "cave.h" #include <bits/stdc++.h> using namespace std; #define ll long long #define ff first #define ss second #define pb push_back #define mk make_pair int l,r; vector<int> v; vector<int> :: iterator it; void exploreCave(int N) { int x[N]; int a[N]; int tp[N]; int ans[N]; memset(a, 0, sizeof(a)); // for(int i = 0; i < N; i ++) { v.pb(i); } // int ok = 0; int tur = tryCombination(a); if(tur >= 1) ok = 1; memset(tp, -1, sizeof(tp)); // for(int i = 0; i < N; i ++) { l = 0; r = v.size() - 1; int tmp; while(l < r) { int mid = (l + r) / 2; for(int j = l; j <= mid; j ++) { a[v[j]] = 1 - a[v[j]]; } tmp = tryCombination(a); if(tmp == -1) tmp = N; if(tmp > i && ok == 0) { r = mid; ok = 1; } else if(tmp > i && ok == 1) { l = mid + 1; ok = 1; } else if(ok == 1) { r = mid; ok = 0; } else { l = mid + 1; ok = 0; } if(l == r) { if(ok == 0) { a[v[l]] = 1 - a[v[l]]; } tp[v[l]] = a[v[l]]; tmp = tryCombination(a); if(tmp == -1) tmp = N; if(tmp > i + 1) ok = 1; else ok = 0; } } ans[v[l]] = i; if(tp[v[l]] == -1) { if(ok == 0) tp[v[l]] = 1 - a[v[l]]; else tp[v[l]] = a[v[l]]; } it = lower_bound(v.begin(), v.end(), v[l]); v.erase(it); } answer(tp, ans); }

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

cave.cpp: In function 'void exploreCave(int)':
cave.cpp:17:9: warning: unused variable 'x' [-Wunused-variable]
   17 |     int x[N];
      |         ^
#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...