8054 2024. 01. 12 11:36:08 FulopMate Gyros (30) cpp17 Elfogadva 30/30 3ms 3864 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 && c >= 2 && rc){
			c -= 2;
			rc--;
			csinalt = true; ans++;
			continue;
		}
		if(b > c && b >= 2 && 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 Összpont Teszt Verdikt Idő Memória
base 30/30
1 Elfogadva 0/0 3ms 2092 KiB
2 Elfogadva 0/0 3ms 2384 KiB
3 Elfogadva 2/2 3ms 2348 KiB
4 Elfogadva 2/2 3ms 2592 KiB
5 Elfogadva 2/2 3ms 2792 KiB
6 Elfogadva 3/3 3ms 2972 KiB
7 Elfogadva 3/3 3ms 3092 KiB
8 Elfogadva 3/3 3ms 3064 KiB
9 Elfogadva 2/2 3ms 3124 KiB
10 Elfogadva 2/2 3ms 3328 KiB
11 Elfogadva 2/2 3ms 3440 KiB
12 Elfogadva 3/3 3ms 3700 KiB
13 Elfogadva 3/3 3ms 3812 KiB
14 Elfogadva 3/3 3ms 3864 KiB