80382024-01-12 11:11:35FulopMateGyros (30)cpp17Hibás válasz 23/303ms3428 KiB
#include <bits/stdc++.h>
using namespace std;

void solve(){
	int n, c, b; cin>>n>>c>>b;
	string s; cin>>s;
	int rc = 0, rb = 0, rv = 0;
	for(char i : s){
		if(i == 'C')rc++;
		if(i == 'V')rv++;
		if(i == 'B')rb++;
	}
	bool csinalt = true;
	int ans = 0;
	while(csinalt){
		csinalt = false;
		if(c > b && rc){
			c -= 2;
			rc--;
			csinalt = true; ans++;
			continue;
		}
		if(b > c && rb){
			b -= 2;
			rb--;
			csinalt = true; ans++;
			continue;
		}
		if(c >= 2 && b >= 2 && rc && rb){
			c -= 2; b-= 2;
			rc--; rb--;
			csinalt = true; ans+=2;
			continue;
		}
		if(c && b && rv){
			c--; b--;
			rv--;
			csinalt = true; ans++;
			continue;
		}
		if(c >= 2 && rc){
			c -= 2;
			rc--;
			csinalt = true; ans++;
			continue;
		}
		if(b >= 2 && rb){
			b -= 2;
			rb--;
			csinalt = true; ans++;
			continue;
		}
	}
	cout<<ans<<endl;
}

int main() {
	cin.sync_with_stdio(0); cin.tie(0);
	int t; cin>>t;
	while(t--)solve();
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base23/30
1Elfogadva0/03ms1828 KiB
2Elfogadva0/03ms2208 KiB
3Hibás válasz0/23ms2352 KiB
4Elfogadva2/23ms2620 KiB
5Elfogadva2/23ms2728 KiB
6Elfogadva3/33ms2780 KiB
7Elfogadva3/33ms2804 KiB
8Elfogadva3/33ms2936 KiB
9Elfogadva2/23ms3152 KiB
10Hibás válasz0/23ms3124 KiB
11Elfogadva2/23ms3128 KiB
12Elfogadva3/33ms3140 KiB
13Elfogadva3/33ms3428 KiB
14Hibás válasz0/33ms3416 KiB