7836 2024. 01. 11 12:38:38 Ablablabla Váltakozó (75 pont) cpp17 Elfogadva 75/75 26ms 4460 KiB
#include <bits/stdc++.h>

using namespace std;

typedef pair<int, int> pii;

int main()
{
    string s;
    cin >> s;

    int n = s.size();

    vector<int> betuk(26, 0);
    vector<pii> sorrend;

    for(int i = 0; i < n; i++){
        betuk[s[i] - 'a']++;
    }

    int maxi = *max_element(betuk.begin(), betuk.end());
    if(maxi > n / 2 + n % 2){
        cout << "-1\n";
        return 0;
    }

    int utolso = -1;
    for(int i = 0; i < n; i++){
        maxi = *max_element(betuk.begin(), betuk.end());
        for(int j = 0; j < 26; j++){
            if(utolso != j && betuk[j]){
                if(2 * maxi <= n - i || maxi == betuk[j]){
                    cout << (char)(j + 'a');
                    utolso = j;
                    betuk[j]--;
                    break;
                }
            }
        }
    }

    cout << "\n";
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 75/75
1 Elfogadva 0/0 3ms 1956 KiB
2 Elfogadva 0/0 3ms 2116 KiB
3 Elfogadva 3/3 3ms 2224 KiB
4 Elfogadva 3/3 2ms 2268 KiB
5 Elfogadva 3/3 3ms 2396 KiB
6 Elfogadva 3/3 3ms 2636 KiB
7 Elfogadva 3/3 4ms 3048 KiB
8 Elfogadva 3/3 24ms 3528 KiB
9 Elfogadva 3/3 8ms 3712 KiB
10 Elfogadva 3/3 8ms 3888 KiB
11 Elfogadva 3/3 3ms 3204 KiB
12 Elfogadva 3/3 3ms 3480 KiB
13 Elfogadva 3/3 3ms 3536 KiB
14 Elfogadva 3/3 3ms 3568 KiB
15 Elfogadva 3/3 24ms 4244 KiB
16 Elfogadva 3/3 24ms 4144 KiB
17 Elfogadva 3/3 25ms 4200 KiB
18 Elfogadva 3/3 25ms 4460 KiB
19 Elfogadva 3/3 23ms 4344 KiB
20 Elfogadva 3/3 23ms 4344 KiB
21 Elfogadva 3/3 24ms 4344 KiB
22 Elfogadva 6/6 21ms 4348 KiB
23 Elfogadva 6/6 23ms 4348 KiB
24 Elfogadva 6/6 26ms 4396 KiB