6071 2023. 10. 29 15:49:16 horvathabel Gyros (30) cpp17 Elfogadva 30/30 3ms 3500 KiB
#include <bits/stdc++.h>
using namespace std;

int main()
{
    int t;
    cin>>t;
    for (int z=0;z<t;z++){
        int n,a,b;
        cin>>n>>a>>b;
        string r;
        cin>>r;
        int c=0;
        int v=0;
        int m=0;
        for (char x: r){
            if (x=='C') c++;
            if (x=='B') m++;
            if (x=='V') v++;
        }
        int a2=a;
        int b2=b;
        int vegyesdb=min(v,min(a,b));
        int ans1=0;
        a-=vegyesdb;
        ans1+=vegyesdb;
        b-=vegyesdb; 
        if(c*2<=a){
            a-=c*2;
            ans1+=c;
        }
        else{
            ans1+=a/2;
            if (a%2==1){
                a=1;
            }
            else a=0;
        }

        if (m*2<=b){
            b-=m*2;
            ans1+=m;
        }
        else{
            ans1+=b/2;
            if (b%2==1){
                b=1;
            }
            else b=0;
        }
        int ans2=0; 
        if(c*2<=a2){
            a2-=c*2;
            ans2+=c;
        }
        else{
            ans2+=a2/2;
            if (a2%2==1){
                a2=1;
            }
            else a2=0;
        }

        if (m*2<=b2){
            b2-=m*2;
            ans2+=m;
        }
        else{
            ans2+=b2/2;
            if (b2%2==1){
                b2=1;
            }
            else b2=0;
        }
        ans2+=min(v,min(a2,b2));
        cout<<max(ans2,ans1)<<endl; 
    }
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 30/30
1 Elfogadva 0/0 3ms 1816 KiB
2 Elfogadva 0/0 3ms 2080 KiB
3 Elfogadva 2/2 3ms 2260 KiB
4 Elfogadva 2/2 3ms 2312 KiB
5 Elfogadva 2/2 3ms 2424 KiB
6 Elfogadva 3/3 3ms 2520 KiB
7 Elfogadva 3/3 3ms 2668 KiB
8 Elfogadva 3/3 3ms 2744 KiB
9 Elfogadva 2/2 3ms 2984 KiB
10 Elfogadva 2/2 3ms 3192 KiB
11 Elfogadva 2/2 3ms 3428 KiB
12 Elfogadva 3/3 3ms 3428 KiB
13 Elfogadva 3/3 3ms 3500 KiB
14 Elfogadva 3/3 3ms 3488 KiB