제출 #544401

#제출 시각아이디문제언어결과실행 시간메모리
544401LoboCounting Mushrooms (IOI20_mushrooms)C++17
0 / 100
0 ms220 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 = 3; vector<int> va, vb; a[0] = 1; va.pb(0); for(int i = 1; i < n; i++) { 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] = 2; } 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++); } 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++); } 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; // }

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

mushrooms.cpp: In function 'int count_mushrooms(int)':
mushrooms.cpp:48:22: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   48 |         if(va.size() >= B || vb.size() >= B) {
      |            ~~~~~~~~~~^~~~
mushrooms.cpp:48:40: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   48 |         if(va.size() >= B || vb.size() >= B) {
      |                              ~~~~~~~~~~^~~~
mushrooms.cpp:55:18: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   55 |     if(va.size() >= B) {
      |        ~~~~~~~~~~^~~~
mushrooms.cpp:60:30: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   60 |             while(vqr.size() != 2*B-2 && i != n) {
      |                   ~~~~~~~~~~~^~~~~~~~
mushrooms.cpp:79:30: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   79 |             while(vqr.size() != 2*B-2 && i != n) {
      |                   ~~~~~~~~~~~^~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...