# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1066159 | 2024-08-19T15:50:01 Z | Ahmed57 | 버섯 세기 (IOI20_mushrooms) | C++17 | 0 ms | 344 KB |
#include "bits/stdc++.h" using namespace std; #include "mushrooms.h" int count_mushrooms(int n){ int B = 100; vector<int> BS[2]; int cnt = 0; vector<int> pending; BS[0].push_back(0); for(int i = 1;i<min(n,B);i++){ if(use_machine({0,i})){ BS[1].push_back(i); cnt++; }else BS[0].push_back(i); } int sz = max(BS[0].size(),BS[1].size()); vector<int> bs; bool As = 0; if(BS[0].size()>BS[1].size()){ As = 1; bs = BS[0]; }else bs = BS[1]; for(int i = B;i<n;i+=sz){ int xd = i; vector<int> lol; int nah = 0; for(int j = i;j<min(n,i+sz);j++){ nah++; lol.push_back(bs[j-i]); lol.push_back(pending[j]); } int ans = use_machine(lol); if(ans%2){ if(As==0)cnt++; ans--; }else{ if(As==1)cnt++; } ans/=2; nah--; if(As==0)cnt+=ans; else cnt+=nah-ans; } return cnt; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 344 KB | Answer is not correct. |
2 | Halted | 0 ms | 0 KB | - |