Submission #591632

# Submission time Handle Problem Language Result Execution time Memory
591632 2022-07-07T17:13:20 Z blue Election (BOI18_election) C++17
Compilation error
0 ms 0 KB
#include <iostream>
#include <vector>
using namespace std;

using vi = vector<int>;

const int inf = 1'000'000'000;

int main()
{
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);

	int N;
	cin >> N;

	vi A(1+N);
	for(int i = 1; i <= N; i++)
	{
		char c;
		cin >> c;

		if(c == 'T')
			A[i] = +1;
		else
			A[i] = -1;
	}

	vi p(1+N);
	p[0] = 0;
	for(int i = 1; i <= N; i++)
		p[i] = p[i-1] + A[i];

	vi s(1+N);
	s[N] = 0;
	for(int i = N-1; i >= 0; i--)
		s[i] = s[i+1] + A[i+1];



	int Q;
	cin >> Q;

	for(int q = 1; q <= Q; q++)
	{
		int l, r;
		cin >> l >> r;

		int pmx = -inf;
		for(int i = l-1; i <= r; i++)
		{
			pmx = max(pmx, p[i]);
		}

		int c1 = pmx - p[l-1];

		// cerr << "c1 = " << c1 << '\n';
		// cerr << "pmx = " << pmx << '\n';


		// int c2 = 0;
		int res = c1;


		int currpmax = -inf;
		for(int i = l-1; i <= r; i++)
		{
			currpmax = max(currpmax, p[i]);
			// cerr << i << " : " << s[i] - s[r] << " " << currpmax << '\n';
			// cerr << "maximum occ = " << currpmax - pmx << '\n';
			// c2 = min(c2, max(0, s[i] - s[r]) + currpmax - pmx);



			if(s[i] > s[r])
			{
				// cerr << "! " << s[i]-s[r] << ' ' << (pmx - currpmax) << '\n';
				res = max(res, (s[i] - s[r]) - (pmx - currpmax) + pmx - p[l-1]);
			}
		}

		cout << c1+c2 << '\n';


	}
}

Compilation message

election.cpp: In function 'int main()':
election.cpp:82:14: error: 'c2' was not declared in this scope; did you mean 'c1'?
   82 |   cout << c1+c2 << '\n';
      |              ^~
      |              c1