78252024-01-11 12:17:55AblablablaVáltakozó (75 pont)cpp17Hibás válasz 14/7527ms4940 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']++;
    }

    for(int i = 0; i < 26; i++){
        if(betuk[i] > n / 2 + (n % 2)){
            cout << "-1\n";
            return 0;
        }
    }

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

    cout << "\n";
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base14/75
1Hibás válasz0/03ms2092 KiB
2Hibás válasz0/03ms2316 KiB
3Részben helyes2/33ms2340 KiB
4Részben helyes2/33ms2580 KiB
5Részben helyes2/33ms2552 KiB
6Hibás válasz0/33ms2684 KiB
7Hibás válasz0/34ms2952 KiB
8Hibás válasz0/318ms3820 KiB
9Elfogadva3/38ms3904 KiB
10Elfogadva3/38ms3924 KiB
11Hibás válasz0/33ms3240 KiB
12Hibás válasz0/33ms3380 KiB
13Hibás válasz0/33ms3468 KiB
14Hibás válasz0/33ms3476 KiB
15Részben helyes2/327ms4312 KiB
16Hibás válasz0/325ms4532 KiB
17Hibás válasz0/325ms4608 KiB
18Hibás válasz0/326ms4664 KiB
19Hibás válasz0/325ms4676 KiB
20Hibás válasz0/325ms4784 KiB
21Hibás válasz0/325ms4864 KiB
22Hibás válasz0/626ms4800 KiB
23Hibás válasz0/625ms4772 KiB
24Hibás válasz0/621ms4940 KiB