152542025-02-17 18:05:25TakacsAndrasVáltakozó (75 pont)cpp17Wrong answer 69/7517ms1688 KiB
#include <bits/stdc++.h>
using namespace std;
int main() {
    string s; cin >> s;
    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');
}
SubtaskSumTestVerdictTimeMemory
base69/75
1Accepted0/01ms316 KiB
2Accepted0/01ms316 KiB
3Accepted3/31ms316 KiB
4Accepted3/31ms316 KiB
5Accepted3/31ms368 KiB
6Accepted3/31ms316 KiB
7Wrong answer0/31ms316 KiB
8Wrong answer0/36ms672 KiB
9Accepted3/36ms624 KiB
10Accepted3/36ms708 KiB
11Accepted3/31ms316 KiB
12Accepted3/31ms316 KiB
13Accepted3/31ms316 KiB
14Accepted3/31ms508 KiB
15Accepted3/317ms1516 KiB
16Accepted3/316ms1480 KiB
17Accepted3/317ms1668 KiB
18Accepted3/316ms1476 KiB
19Accepted3/314ms1476 KiB
20Accepted3/314ms1476 KiB
21Accepted3/314ms1632 KiB
22Accepted6/613ms1516 KiB
23Accepted6/614ms1476 KiB
24Accepted6/616ms1688 KiB