Submission #1145279

#TimeUsernameProblemLanguageResultExecution timeMemory
1145279arashmemarElection (BOI18_election)C++20
28 / 100
5 ms328 KiB
#include <bits/stdc++.h>
using namespace std;

const int maxn = 2e3 + 100;

int a[maxn];
bool u[maxn];

int main()
{
	int n;
	cin >> n;
	for (int i = 1;i <= n;i++)
	{
		char inp;
		cin >> inp;
		a[i] = (inp == 'C') * 2 - 1;
	}

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

		int ans = 0, s = 0;

		for (int i = l;i <= r;i++)
		{
			s += a[i];
			if (s < 0)
			{
				s++;
				ans++;
				u[i] = 1;
			}
		}

		s = 0;

		for (int i = r;i >= l;i--)
		{
			if (!u[i])
			{
				s += a[i];
			}
			if (s < 0)
			{
				s++;
				ans++;
			}
		}
		for (int i = l;i <= r;i++)
		{
			u[i] = 0;
		}
		cout << ans << '\n';
	}
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...