70902023-12-30 11:03:23MagyarKendeSZLGVáltakozó (75 pont)cpp17Hibás válasz 58/7517ms4656 KiB
#include <bits/stdc++.h>

#define speed cin.tie(0); ios::sync_with_stdio(0)

using namespace std;

int main() {
    speed;

    string s;
    cin >> s;
    int N = s.size(), A[26] = {0};
    for (char c : s) A[c - 'a']++;

    for (int i = 0; i < 26; i++) {
        if (N / 2 + (N & 1) < A[i]) {
            cout << -1;
            exit(0);
        }
    }

    for (int i = 0, j, last = 0; i < N; i++) {
        j = -1;
        for (int curr = 25; curr >= 0; curr--) {
            if (curr == last || A[curr] == 0) continue;

            j = curr;
            
            if ((N - i) & 1 && A[curr] == (N - i) / 2 + 1) break;            
        }
        last = j;
        A[j]--;
        cout << (char)(j + 'a');
    }
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base58/75
1Hibás válasz0/03ms1824 KiB
2Hibás válasz0/03ms2056 KiB
3Elfogadva3/33ms2288 KiB
4Elfogadva3/33ms2628 KiB
5Elfogadva3/33ms2812 KiB
6Részben helyes2/33ms2796 KiB
7Elfogadva3/34ms3108 KiB
8Elfogadva3/314ms3636 KiB
9Elfogadva3/34ms3904 KiB
10Elfogadva3/34ms4012 KiB
11Részben helyes2/33ms3400 KiB
12Részben helyes2/33ms3272 KiB
13Részben helyes2/33ms3396 KiB
14Részben helyes2/33ms3632 KiB
15Elfogadva3/317ms4320 KiB
16Részben helyes2/317ms4376 KiB
17Részben helyes2/316ms4464 KiB
18Részben helyes2/316ms4392 KiB
19Részben helyes2/317ms4648 KiB
20Részben helyes2/317ms4604 KiB
21Részben helyes2/317ms4656 KiB
22Részben helyes4/617ms4612 KiB
23Részben helyes4/617ms4616 KiB
24Részben helyes4/614ms4616 KiB