Submission #545092

#TimeUsernameProblemLanguageResultExecution timeMemory
545092LoboCounting Mushrooms (IOI20_mushrooms)C++17
Compilation error
0 ms0 KiB
// #include "mushrooms.h" #include<bits/stdc++.h> using namespace std; const long long inf = (long long) 1e18 + 10; const int inf1 = (int) 1e9 + 10; // #define int long long #define dbl long double #define endl '\n' #define sc second #define fr first #define mp make_pair #define pb push_back #define all(x) x.begin(), x.end() const int maxn = 2e4 + 10; // int s[maxn]; // int use_machine(vector<int> x) { // const int xs = x.size(); // int diffs = 0; // for (int i = 1; i < xs; i++) // diffs += int(s[x[i]] != s[x[i-1]]); // return diffs; // } int a[maxn]; int count_mushrooms(int n) { int B = 127; vector<int> va, vb; a[0] = 1; va.pb(0); for(int i = 1; i < n; i++) { if(i == n-1 || n <= 2) { vector<int> vqr; vqr.pb(0); vqr.pb(i); if(use_machine(vqr) == 0) { va.pb(i); a[i] = 1; } else { vb.pb(i); a[i] = 1; } continue; } if(va.size() < 2 && vb.size() < 2) { vector<int> vqr; vqr.pb(0); vqr.pb(i); if(use_machine(vqr) == 0) { a[i] = 1; va.pb(i); } else { a[i] = 1; vb.pb(i); } } else if(va.size() >= 2) { vector<int> vqr; vqr.pb(va[0]); vqr.pb(i); vqr.pb(va[1]); vqr.pb(i+1); int qr = use_machine(vqr); qr = ((int) vqr.size()) -1 - qr; a[i] = 1; a[i+1] = 1; if(qr == 0) { vb.pb(i); vb.pb(i+1); } else if(qr == 1) { va.pb(i); vb.pb(i+1); } else if(qr == 2) { vb.pb(i); va.pb(i+1); } else { va.pb(i); va.pb(i+1); } i++; } else { vector<int> vqr; vqr.pb(vb[0]); vqr.pb(i); vqr.pb(vb[1]); vqr.pb(i+1); int qr = use_machine(vqr); qr = ((int) vqr.size()) -1 - qr; a[i] = 1; a[i+1] = 1; if(qr == 0) { va.pb(i); va.pb(i+1); } else if(qr == 1) { vb.pb(i); va.pb(i+1); } else if(qr == 2) { va.pb(i); vb.pb(i+1); } else { vb.pb(i); vb.pb(i+1); } i++; } if(va.size() >= B || vb.size() >= B) break; } int ans = va.size(); if(va.size() >= B) { int i = 1; while(i != n) { int j = 0; vector<int> vqr; while(vqr.size() != 2*B-2 && i != n) { if(a[i] != 0) { i++; continue; } vqr.pb(va[j++]); vqr.pb(i++); } if(vqr.size() == 0) continue; vqr.pb(va[j]); int qr = use_machine(vqr); qr = ((int) vqr.size()) -1 - qr; ans+= qr/2; } } else { int i = 1; while(i != n) { int j = 0; vector<int> vqr; while(vqr.size() != 2*B-2 && i != n) { if(a[i] != 0) { i++; continue; } vqr.pb(vb[j++]); vqr.pb(i++); } if(vqr.size() == 0) continue; vqr.pb(vb[j]); int qr = use_machine(vqr); qr = ((int) vqr.size()) -1 - qr; ans+= ((int) vqr.size())/2 - qr/2; } } return ans; } // int32_t main() { // ios::sync_with_stdio(false); cin.tie(0); // freopen("in.in", "r", stdin); // // freopen("out.out", "w", stdout); // int n; // cin >> n; // for(int i = 0; i < n; i++) { // int x; cin >> x; // s[i] = x; // } // cout << count_mushrooms(n) << endl; // }

Compilation message (stderr)

mushrooms.cpp: In function 'int count_mushrooms(int)':
mushrooms.cpp:40:16: error: 'use_machine' was not declared in this scope
   40 |             if(use_machine(vqr) == 0) {
      |                ^~~~~~~~~~~
mushrooms.cpp:53:16: error: 'use_machine' was not declared in this scope
   53 |             if(use_machine(vqr) == 0) {
      |                ^~~~~~~~~~~
mushrooms.cpp:69:22: error: 'use_machine' was not declared in this scope
   69 |             int qr = use_machine(vqr);
      |                      ^~~~~~~~~~~
mushrooms.cpp:99:22: error: 'use_machine' was not declared in this scope
   99 |             int qr = use_machine(vqr);
      |                      ^~~~~~~~~~~
mushrooms.cpp:123:22: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
  123 |         if(va.size() >= B || vb.size() >= B) break;
      |            ~~~~~~~~~~^~~~
mushrooms.cpp:123:40: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
  123 |         if(va.size() >= B || vb.size() >= B) break;
      |                              ~~~~~~~~~~^~~~
mushrooms.cpp:128:18: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
  128 |     if(va.size() >= B) {
      |        ~~~~~~~~~~^~~~
mushrooms.cpp:133:30: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
  133 |             while(vqr.size() != 2*B-2 && i != n) {
      |                   ~~~~~~~~~~~^~~~~~~~
mushrooms.cpp:143:22: error: 'use_machine' was not declared in this scope
  143 |             int qr = use_machine(vqr);
      |                      ^~~~~~~~~~~
mushrooms.cpp:153:30: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
  153 |             while(vqr.size() != 2*B-2 && i != n) {
      |                   ~~~~~~~~~~~^~~~~~~~
mushrooms.cpp:163:22: error: 'use_machine' was not declared in this scope
  163 |             int qr = use_machine(vqr);
      |                      ^~~~~~~~~~~