제출 #775064

#제출 시각아이디문제언어결과실행 시간메모리
775064gun_ganElection (BOI18_election)C++17
28 / 100
3048 ms1012 KiB
#include <bits/stdc++.h>
using namespace std;
typedef long long ll; 

const int MX = 5e5 + 5;

int N, Q;
string s;

int main() {
      cin.tie(0); ios_base::sync_with_stdio(0);

      cin >> N >> s >> Q;

      s = '#' + s;

      for(int i = 1; i <= Q; i++) {
            int l, r;
            cin >> l >> r;

            vector<int> a, b;
            int cnt = 0;
            for(int j = l; j <= r; j++) {
                  cnt += (s[j] == 'C' ? 1 : -1);
                  if(cnt < 0) {
                        cnt = 0;
                        a.push_back(j);
                  }
            }

            cnt = 0;
            for(int j = r; j >= l; j--) {
                  cnt += (s[j] == 'C' ? 1 : -1);
                  if(cnt < 0) {
                        cnt = 0;
                        b.push_back(j);
                  }
            }

            reverse(b.begin(), b.end());

            int pt = 0;
            for(auto x : a) {
                  if(pt < b.size() && x >= b[pt]) pt++;
            }

            cout << (int)a.size() + b.size() - pt << '\n';
      }
}

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

election.cpp: In function 'int main()':
election.cpp:44:25: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   44 |                   if(pt < b.size() && x >= b[pt]) pt++;
      |                      ~~~^~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...