7090 2023. 12. 30 11:03:23 MagyarKendeSZLG Váltakozó (75 pont) cpp17 Hibás válasz 58/75 17ms 4656 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 Összpont Teszt Verdikt Idő Memória
base 58/75
1 Hibás válasz 0/0 3ms 1824 KiB
2 Hibás válasz 0/0 3ms 2056 KiB
3 Elfogadva 3/3 3ms 2288 KiB
4 Elfogadva 3/3 3ms 2628 KiB
5 Elfogadva 3/3 3ms 2812 KiB
6 Részben helyes 2/3 3ms 2796 KiB
7 Elfogadva 3/3 4ms 3108 KiB
8 Elfogadva 3/3 14ms 3636 KiB
9 Elfogadva 3/3 4ms 3904 KiB
10 Elfogadva 3/3 4ms 4012 KiB
11 Részben helyes 2/3 3ms 3400 KiB
12 Részben helyes 2/3 3ms 3272 KiB
13 Részben helyes 2/3 3ms 3396 KiB
14 Részben helyes 2/3 3ms 3632 KiB
15 Elfogadva 3/3 17ms 4320 KiB
16 Részben helyes 2/3 17ms 4376 KiB
17 Részben helyes 2/3 16ms 4464 KiB
18 Részben helyes 2/3 16ms 4392 KiB
19 Részben helyes 2/3 17ms 4648 KiB
20 Részben helyes 2/3 17ms 4604 KiB
21 Részben helyes 2/3 17ms 4656 KiB
22 Részben helyes 4/6 17ms 4612 KiB
23 Részben helyes 4/6 17ms 4616 KiB
24 Részben helyes 4/6 14ms 4616 KiB