제출 #592317

#제출 시각아이디문제언어결과실행 시간메모리
592317farhan132버섯 세기 (IOI20_mushrooms)C++17
0 / 100
6 ms388 KiB
#include "mushrooms.h" #include <bits/stdc++.h> using namespace std; typedef int ll; typedef pair<ll , ll> ii; #define ff first #define ss second #define pb push_back #define in insert int count_mushrooms(int n) { ll ans = 1; if(n <= 150){ for(ll i = 1; i < n; i++){ ans += 1 - use_machine({0, i}); } return ans; } vector < ll > done(n + 100, 0); vector < ll > A, B; A.pb(0); ll N = 141; for(ll i = 1; i <= N; i++){ if(1 - use_machine({0, i})) A.pb(i), ans++; else B.pb(i); done[i] = 1; } ll sz; bool f = 0; if(B.size() > A.size()) f = 1, sz = B.size(); else sz = A.size(); for(ll i = N + 1; i + sz - 1 < n; i+=sz){ if(!f){ vector < ll > cur; cur.pb(A[0]); ll p = i, q = 1; for(ll j = 1; j < sz; j++){ done[p] = 1; cur.pb(p); cur.pb(A[j]); p++; } ll k = use_machine(cur); ans += (sz - 1) - (k/2); }else{ vector < ll > cur; cur.pb(B[0]); ll p = i, q = 1; for(ll j = 1; j < sz; j++){ done[p] = 1; cur.pb(p); cur.pb(B[j]); p++; } ll k = use_machine(cur); ans += (k/2); } } vector < ll > all; for(ll i = 1; i < n; i++){ if(!done[i]) all.pb(i); } sz = all.size() + 1; if(!f){ vector < ll > cur; cur.pb(A[0]); for(ll j = 1; j < sz; j++){ cur.pb(all[j - 1]); cur.pb(A[j]); } ll k = use_machine(cur); ans += (sz - 1) - (k/2); }else{ vector < ll > cur; cur.pb(B[0]); for(ll j = 1; j < sz; j++){ cur.pb(all[j - 1]); cur.pb(B[j]); } ll k = use_machine(cur); ans += (k/2); } return ans; }

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

mushrooms.cpp: In function 'int count_mushrooms(int)':
mushrooms.cpp:39:28: warning: unused variable 'q' [-Wunused-variable]
   39 |    cur.pb(A[0]); ll p = i, q = 1;
      |                            ^
mushrooms.cpp:50:28: warning: unused variable 'q' [-Wunused-variable]
   50 |    cur.pb(B[0]); ll p = i, q = 1;
      |                            ^
#Verdict Execution timeMemoryGrader output
Fetching results...