54552023-06-22 13:29:14TuruTamasGyros (30)cpp17Hibás válasz 0/303ms3796 KiB
#include "bits/stdc++.h"
#include <algorithm>
#include <cstddef>
#include <fstream>
#include <string>
#include <iostream>

using namespace std;

int main() {
    string path;
    cin >> path;
    auto f = ifstream(path);
    int T;
    f >> T;
    for (int i = 0; i < T; i++) {
        int N, csikke, boci, V, C, B;
        V = C = B = 0;
        f >> N >> csikke >> boci;
        for (int k = 0; k < N; k++) {
            char c;
            f >> c;
            if (c == 'C')
                C++;
            else if (c == 'B')
                B++;
            else if (c == 'V')
                V++;
        }
        int vegyes_max = min({C, B, V});
        int csirke_max = min(csikke/2, C);
        int boci_max = min(boci/2, B);
        bool f = false;
        int l = -69420;
        int i2 = 0;
        for (int j = 0; j < vegyes_max; ++j) {
            int val = j + min((csikke-j)/2, C) + min((boci-j)/2, B);
            if (val <= l) 
                break;
            l = val;
            i2 = j;
        }
        // cout << "DEBUG: " << i2 << ' ' << vegyes_max << ' '  << C << ' ' << B <<  ' ' << 
        //     i2 + min((csikke-i2)/2, C) + min((boci-i2)/2, B) <<  ' ' << vegyes_max + min((csikke-vegyes_max)/2, C) + min((boci-vegyes_max)/2, B) << "\n";
        cout << max(
            i2 + min((csikke-i2)/2, C) + min((boci-i2)/2, B),
            vegyes_max + min((csikke-vegyes_max)/2, C) + min((boci-vegyes_max)/2, B)
        );
        cout << "\n";
    }
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base0/30
1Hibás válasz0/03ms1808 KiB
2Hibás válasz0/03ms2056 KiB
3Hibás válasz0/23ms2272 KiB
4Hibás válasz0/23ms2464 KiB
5Hibás válasz0/22ms2408 KiB
6Hibás válasz0/33ms2632 KiB
7Hibás válasz0/32ms2720 KiB
8Hibás válasz0/33ms2844 KiB
9Hibás válasz0/23ms3100 KiB
10Hibás válasz0/23ms3320 KiB
11Hibás válasz0/23ms3400 KiB
12Hibás válasz0/33ms3400 KiB
13Hibás válasz0/33ms3796 KiB
14Hibás válasz0/33ms3584 KiB