# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
103538 | 2019-03-31T11:14:52 Z | ekrem | Election (BOI18_election) | C++ | 8 ms | 384 KB |
#include <bits/stdc++.h> #define st first #define nd second #define mp make_pair #define pb push_back #define mod 1000000007 #define N 1000005 using namespace std; typedef long long ll; int n, q, m, bas, son, say, ans, top, u[N], x[N]; char a[N]; int main() { // freopen("in.txt", "r", stdin); // freopen("out.txt", "w", stdout); scanf("%d %s %d",&n ,a + 1 ,&q); while(q--){ scanf("%d %d",&bas, &son); ans = say = 0; while(a[bas] == 'T' and bas <= son){ bas++; ans++; } while(a[son] == 'T' and son >= bas){ son--; ans++; } // cout << bas << " " << son << " " << ans << endl; m = 0; for(int i = bas; i <= son; i++){ say = 0; int j = i; while(a[j] == a[i]){ j++; say++; } x[++m] = say; // cout << say << " "; i = j - 1; } // cout << endl; top = 0; for(int i = 1; i <= m; i++){ if(i%2) top += x[i]; else{ ans += max(0, x[i] - min(top, x[i + 1])); top -= min(top, x[i + 1]); } } cout << ans << endl; } return 0; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 8 ms | 384 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 8 ms | 384 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 8 ms | 384 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |