Submission #1074243

#TimeUsernameProblemLanguageResultExecution timeMemory
1074243TheQuantiXCounting Mushrooms (IOI20_mushrooms)C++17
56.93 / 100
9 ms612 KiB
#include <bits/stdc++.h>
#include "mushrooms.h"

using namespace std;
using ll = long long;

constexpr ll C = 200;

ll n, m, q, k, x, y, a, b, c;

int count_mushrooms(int n) {
    vector<ll> va(1, 0), vb;
    for (int i = 1; i < n && i < C; i++) {
        if (use_machine({0, i}) == 0) {
            va.push_back(i);
        }
        else {
            vb.push_back(i);
        }
    }
    int ans = va.size();
    if (va.size() > vb.size()) {
        ll pos = C;
        while (pos < n) {
            vector<int> vec;
            ll cnt = 0;
            while (pos != n && cnt != va.size()) {
                vec.push_back(va[cnt]);
                vec.push_back(pos);
                cnt++;
                pos++;
            }
            ll num = use_machine(vec);
            ans += cnt - (num + 1) / 2;
        }
    }
    else {
        ll pos = C;
        while (pos < n) {
            vector<int> vec;
            ll cnt = 0;
            while (pos != n && cnt != vb.size()) {
                vec.push_back(vb[cnt]);
                vec.push_back(pos);
                cnt++;
                pos++;
            }
            ll num = use_machine(vec);
            ans += (num + 1) / 2;
        }
    }
    return ans;
}

Compilation message (stderr)

mushrooms.cpp: In function 'int count_mushrooms(int)':
mushrooms.cpp:27:36: warning: comparison of integer expressions of different signedness: 'll' {aka 'long long int'} and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   27 |             while (pos != n && cnt != va.size()) {
      |                                ~~~~^~~~~~~~~~~~
mushrooms.cpp:42:36: warning: comparison of integer expressions of different signedness: 'll' {aka 'long long int'} and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   42 |             while (pos != n && cnt != vb.size()) {
      |                                ~~~~^~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...