제출 #1161048

#제출 시각아이디문제언어결과실행 시간메모리
1161048ElayV13Election (BOI18_election)C++20
28 / 100
3095 ms680 KiB
#include <bits/stdc++.h> using namespace std; #define int long long #define all(a) a.begin() , a.end() #define ld long double #define ff first #define ss second const int inf = 1e18; const int mod = 998244353; const int MXN = 10005; int N , q; string s; void solve() { cin >> N >> s >> q; s = '#' + s; while(q--) { int l , r; cin >> l >> r; int cnt[2]; cnt[0] = cnt[1] = 0; // cnt[0] -> 'C' // cnt[1] -> 'T' string ss = s; for(int i = l;i <= r;i++) { if(ss[i] == 'T') cnt[1]++; if(ss[i] == 'C') cnt[0]++; if(cnt[1] > cnt[0] && ss[i] != 'C'){ ss[i] = 'X'; cnt[1]--; } } cnt[0] = cnt[1] = 0; for(int i = r;i >= l;i--) { if(ss[i] == 'T') cnt[1]++; if(ss[i] == 'C') cnt[0]++; if(cnt[1] > cnt[0] && ss[i] != 'C'){ ss[i] = 'X'; cnt[1]--; } } int res = 0; for(int i = 1;i <= N;i++) { res += (s[i] != ss[i]); } cout << res << endl; } } signed main(){ ios_base::sync_with_stdio(0);cin.tie(0); int T = 1;//cin >> T; while(T--) solve(); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...