Submission #395646

#TimeUsernameProblemLanguageResultExecution timeMemory
395646snasibov05Counting Mushrooms (IOI20_mushrooms)C++14
91.87 / 100
22 ms312 KiB
#include "mushrooms.h" #define pb push_back using namespace std; int count_mushrooms(int n) { vector<int> a, b; a.pb(0); int l = 1; while (a.size() < 2 && b.size() < 2 && l < n){ vector<int> v; v.pb(a[0]); v.pb(l++); int x = use_machine(v); if (x == 1) b.pb(l-1); else a.pb(l-1); } for (int i = 0; i < 100 && l+1 < n; ++i) { if (a.size() >= 2){ vector<int> v; v.pb(l); v.pb(a[0]); v.pb(l+1); v.pb(a[1]); int x = use_machine(v); if (x % 2 == 0) a.pb(l); else b.pb(l); if (x/2 == 0) a.pb(l+1); else b.pb(l+1); l+=2; } else{ vector<int> v; v.pb(l); v.pb(b[0]); v.pb(l+1); v.pb(b[1]); int x = use_machine(v); if (x % 2 == 0) b.pb(l); else a.pb(l); if (x/2 == 0) b.pb(l+1); else a.pb(l+1); l+=2; } } int ans = a.size(); while (l < n){ if (a.size() > b.size()){ vector<int> v; int k = l; for (int i = 0; i < a.size() && l < n; ++i) { v.pb(l++); v.pb(a[i]); } int x = use_machine(v); if (x%2 == 0) a.pb(k); else b.pb(k); int y = (x + 1) / 2; ans += (l - k) - y; } else{ vector<int> v; int k = l; for (int i = 0; i < b.size() && l < n; ++i) { v.pb(l++); v.pb(b[i]); } int x = use_machine(v); if (x%2 == 0) b.pb(k); else a.pb(k); int y = (x + 1) / 2; ans += y; } } return ans; }

Compilation message (stderr)

mushrooms.cpp: In function 'int count_mushrooms(int)':
mushrooms.cpp:58:31: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   58 |             for (int i = 0; i < a.size() && l < n; ++i) {
      |                             ~~^~~~~~~~~~
mushrooms.cpp:72:31: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   72 |             for (int i = 0; i < b.size() && l < n; ++i) {
      |                             ~~^~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...