제출 #1099660

#제출 시각아이디문제언어결과실행 시간메모리
1099660DangKhoizzzzElection (BOI18_election)C++14
28 / 100
3048 ms2212 KiB
#include <bits/stdc++.h>
#define fi first
#define se second

using namespace std;

const int maxn = 7e4 + 7;

int n , a[maxn];

void query(int l , int r)
{
    vector <int> p(maxn);
    for(int i = 1; i <= n; i++) p[i] = a[i];

    int sum = 0;

    for(int i = l; i <= r; i++)
    {
        sum += p[i];

        if(sum < 0)
        {
            p[i] = 0;
            sum += 1;
        }
    }

    sum = 0;

    for(int i = r; i >= l; i--)
    {
        sum += p[i];

        if(sum < 0)
        {
            p[i] = 0;
            sum += 1;
        }
    }

    int ans = 0;

    for(int i = l; i <= r; i++)
    {
        ans += (a[i] != p[i]);
    }
    cout << ans << '\n';
}

void solve()
{
    cin >> n;
    string s; cin >> s;
    s = ' ' + s;

    for(int i = 1; i <= n; i++)
    {
        if(s[i] == 'C') a[i] = 1;
        else a[i] = -1;
    }

    int q; cin >> q;

    while(q--)
    {
        int l , r;
        cin >> l >> r;
        query(l , r);
    }
}


int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0); cout.tie(0);
    solve();
    return 0;
}

#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...