64372023-11-29 12:15:14BenedekMartonGyros (30)cpp14Elfogadva 30/303ms4020 KiB
#include <iostream>

using namespace std;

int main()
{
    int t;
    cin >> t;
    int n, C, B, c, b, v, elg, x;
    char ren[100001];
    for(int i=0; i<t; i++)
    {
        cin >> n >> C >> B;
        cin.get();
        cin.getline(ren, n+1);
        c=0; b=0; v=0;
        for(int i=0; i<n; i++)
        {
            if(ren[i]=='C')
            {
                c++;
            }
            else if(ren[i]=='B')
            {
                b++;
            }
            else
            {
                v++;
            }
        }
        elg=0;
        if(B%2==C%2)
        {
            if(B%2==v%2)
            {
                x=min(v, min(B, C));
                B=B-x;
                C=C-x;
                v=v-x;
                elg=elg+x;
            }
            else
            {
                x=min(v-1, min(B, C));
                B=B-x;
                C=C-x;
                v=v-x;
                elg=elg+x;
            }
        }
        else
        {
            x=min(v, min(B, C));
            B=B-x;
            C=C-x;
            v=v-x;
            elg=elg+x;
        }
        x=min(B/2, b);
        elg=elg+x;
        B=B-2*x;
        b=b-x;
        x=min(C/2, c);
        elg=elg+x;
        C=C-2*x;
        c=c-x;
        if(C>=1 and B>=1 and v>=1)
        {
            cout << elg+1 << endl;
        }
        else
        {
            cout << elg << endl;
        }
    }
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base30/30
1Elfogadva0/03ms2100 KiB
2Elfogadva0/03ms2376 KiB
3Elfogadva2/23ms2648 KiB
4Elfogadva2/23ms2932 KiB
5Elfogadva2/23ms2748 KiB
6Elfogadva3/33ms3024 KiB
7Elfogadva3/33ms2928 KiB
8Elfogadva3/33ms3188 KiB
9Elfogadva2/23ms3148 KiB
10Elfogadva2/23ms3404 KiB
11Elfogadva2/23ms3612 KiB
12Elfogadva3/33ms3568 KiB
13Elfogadva3/33ms3844 KiB
14Elfogadva3/33ms4020 KiB