제출 #1292727

#제출 시각아이디문제언어결과실행 시간메모리
1292727julia_08버섯 세기 (IOI20_mushrooms)C++20
10 / 100
51 ms808 KiB
#include <bits/stdc++.h> #include "mushrooms.h" using namespace std; int ask(vector<int> &v){ if((int) v.size() < 2) return 0; return use_machine(v); } int count_mushrooms(int n){ vector<int> cur; for(int i=1; i<n; i++) cur.push_back(i); vector<int> a = {0}, b; int sz = n - 1; while((int) a.size() <= sz && (int) b.size() <= sz){ int v = cur.back(); cur.pop_back(); sz --; vector<int> to_ask = {0, v}; if(ask(to_ask) == 0){ a.push_back(v); } else b.push_back(v); } int cnt = 0; if((int) a.size() > sz){ vector<int> to_ask; for(int i=0; i<sz; i++){ to_ask.push_back(a[i]); to_ask.push_back(cur[i]); } to_ask.push_back(a[sz]); int ans = ask(to_ask); cnt = (int) a.size() + (sz - (ans / 2)); } else{ vector<int> to_ask; for(int i=0; i<sz; i++){ to_ask.push_back(b[i]); to_ask.push_back(cur[i]); } to_ask.push_back(b[sz]); int ans = ask(to_ask); cnt = (int) a.size() + ans / 2; } return cnt; }
#Verdict Execution timeMemoryGrader output
Fetching results...