# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
775064 | 2023-07-06T07:14:25 Z | gun_gan | Election (BOI18_election) | C++17 | 3000 ms | 1012 KB |
#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'; } }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 8 ms | 352 KB | Output is correct |
2 | Correct | 9 ms | 328 KB | Output is correct |
3 | Correct | 7 ms | 352 KB | Output is correct |
4 | Correct | 8 ms | 340 KB | Output is correct |
5 | Correct | 8 ms | 340 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 8 ms | 352 KB | Output is correct |
2 | Correct | 9 ms | 328 KB | Output is correct |
3 | Correct | 7 ms | 352 KB | Output is correct |
4 | Correct | 8 ms | 340 KB | Output is correct |
5 | Correct | 8 ms | 340 KB | Output is correct |
6 | Execution timed out | 3048 ms | 1012 KB | Time limit exceeded |
7 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 8 ms | 352 KB | Output is correct |
2 | Correct | 9 ms | 328 KB | Output is correct |
3 | Correct | 7 ms | 352 KB | Output is correct |
4 | Correct | 8 ms | 340 KB | Output is correct |
5 | Correct | 8 ms | 340 KB | Output is correct |
6 | Execution timed out | 3048 ms | 1012 KB | Time limit exceeded |
7 | Halted | 0 ms | 0 KB | - |