Submission #962252

#TimeUsernameProblemLanguageResultExecution timeMemory
9622520npataMonochrome Points (JOI20_monochrome)C++17
25 / 100
2037 ms604 KiB
#include<bits/stdc++.h>
using namespace std;

#define int long long
#define vec vector
#define pi pair<int, int>
#define fst first
#define snd second
#define pb push_back

int n;
int mes(vec<pi> p) {
	int res = 0;

	for(int i = 0; i<p.size(); i++) {
		for(int j = i+1; j<p.size(); j++) {
			int l1 = p[i].fst;
			int r1 = p[i].snd;
			if(l1 > r1) swap(l1, r1);

			int l2 = p[j].fst;
			int r2 = p[j].snd;
			if(l2 > r2) swap(l2, r2);

			if(l1 < l2 && r1 > l2 && r1 < r2) res++;
			else if(l1 > l2 && l1 < r2 && r1 > r2) res++;
		}
	}

	return res;
}

int32_t main() {
	cin >> n;
	string s;
	cin >> s;

	vec<int> b(0);
	vec<int> w(0);

	for(int i = 0; i<s.size(); i++) {
		if(s[i] == 'W') {
			w.pb(i);
		}
		else {
			b.pb(i);
		}
	}

	int ans = 0;

	for(int i = 0; i<n; i++) {
		// construct possible pairings
		vec<pi> p;
		for(int j = 0; j<n; j++) {
			p.pb({w[j], b[(j+i)%n]});
		}
		int res = mes(p);

		ans = max(res, ans);
	}

	cout << ans << '\n';
}

Compilation message (stderr)

monochrome.cpp: In function 'long long int mes(std::vector<std::pair<long long int, long long int> >)':
monochrome.cpp:15:18: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<std::pair<long long int, long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   15 |  for(int i = 0; i<p.size(); i++) {
      |                 ~^~~~~~~~~
monochrome.cpp:16:21: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<std::pair<long long int, long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   16 |   for(int j = i+1; j<p.size(); j++) {
      |                    ~^~~~~~~~~
monochrome.cpp: In function 'int32_t main()':
monochrome.cpp:41:18: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   41 |  for(int i = 0; i<s.size(); i++) {
      |                 ~^~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...