Submission #918773

#TimeUsernameProblemLanguageResultExecution timeMemory
918773waldiMonochrome Points (JOI20_monochrome)C++17
25 / 100
2044 ms348 KiB
#include <bits/stdc++.h>
#define FOR(i,p,k) for(int i=(p);i<=(k);++i)
#define REP(i,n) FOR(i,0,(n)-1)
#define ssize(x) (int(x.size()))
#define all(x) (x).begin(),(x).end()
#define fi first
#define se second
using namespace std;
typedef pair<int, int> pii;

int main(){
	int n;
	scanf("%d\n", &n);
	int n2 = n<<1;
	vector<int> s(n2);
	REP(i, n2){
		char c;
		scanf("%c", &c);
		s[i] = c=='B';
	}
	
	int wyn = 0;
	REP(xd, n){
		vector<pii> prz;
		
		vector<vector<int>> lewo(2), prawo(2);
		REP(i, n) lewo[s[i]].emplace_back(i);
		FOR(i, n, n2-1) prawo[s[i]].emplace_back(i);
		REP(i, ssize(lewo[0])) prz.emplace_back(lewo[0][i], prawo[1][i]);
		REP(i, ssize(lewo[1])) prz.emplace_back(lewo[1][i], prawo[0][i]);
		
		int tmp = 0;
		REP(i, n) REP(j, i){
			pii a = prz[i], b = prz[j];
			if(a.se > b.se) swap(a, b);
			if(a.fi < b.fi && b.fi < a.se) ++tmp;
		}
		wyn = max(wyn, tmp);
		
		s.insert(s.begin(), s.back());
		s.pop_back();
	}
	printf("%d", wyn);
	return 0;
}

Compilation message (stderr)

monochrome.cpp: In function 'int main()':
monochrome.cpp:13:7: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   13 |  scanf("%d\n", &n);
      |  ~~~~~^~~~~~~~~~~~
monochrome.cpp:18:8: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   18 |   scanf("%c", &c);
      |   ~~~~~^~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...