152552025-02-17 18:06:30TakacsAndrasVáltakozó (75 pont)cpp17Hibás válasz 69/7519ms1716 KiB
#include <bits/stdc++.h>
using namespace std;
int main() {
    string s; cin >> s;
    if (s.size() == 1) {
        cout << s << '\n';
        return 0;
    }
    vector<int> a(26);
    for (int i = 0; i < s.size(); i++) {
        if (++a[s[i]-'a'] >= s.size()/2+1) {
            cout << "-1";
            return 0;
        }
    }
    vector<int> out(s.size()+1);
    out[0] = -1;
    for (int i = 1; i <= s.size(); i++) {
        int x = 1000;
        for (int j = 0; j < 26; j++) {
            if (a[j] > 0 && out[i-1] != j && a[j] >= (s.size()-i+1)/2+1) {
                x = j;
                break;
            }
            if (a[j] > 0 && out[i-1] != j && x > j) x = j;
        }
        a[x]--;
        out[i] = x;
    }
    for (int i = 1; i <= s.size(); i++) cout << (char)(out[i]+'a');
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base69/75
1Elfogadva0/01ms316 KiB
2Elfogadva0/01ms316 KiB
3Elfogadva3/31ms316 KiB
4Elfogadva3/31ms316 KiB
5Elfogadva3/31ms316 KiB
6Elfogadva3/31ms316 KiB
7Hibás válasz0/31ms316 KiB
8Hibás válasz0/36ms616 KiB
9Elfogadva3/36ms708 KiB
10Elfogadva3/36ms708 KiB
11Elfogadva3/31ms316 KiB
12Elfogadva3/31ms316 KiB
13Elfogadva3/31ms316 KiB
14Elfogadva3/31ms316 KiB
15Elfogadva3/318ms1520 KiB
16Elfogadva3/319ms1596 KiB
17Elfogadva3/317ms1600 KiB
18Elfogadva3/318ms1532 KiB
19Elfogadva3/316ms1716 KiB
20Elfogadva3/316ms1484 KiB
21Elfogadva3/316ms1576 KiB
22Elfogadva6/614ms1540 KiB
23Elfogadva6/616ms1512 KiB
24Elfogadva6/618ms1692 KiB