/ SeriousOJ /

Record Detail

Wrong Answer


  
# Status Time Cost Memory Cost
#1 Wrong Answer 1ms 532.0 KiB
#2 Wrong Answer 1ms 532.0 KiB

Code

#include<bits/stdc++.h>
using namespace std;
#define ll long long 
int main(){
    ll t;
    cin >> t;
    while (t--){
        string s;
        cin >> s;
        int n;
        n = (int)s.size();
        vector<int> freq(26,0);
        for(int i=0;i<n;i++){
            freq[s[i]-'a']++;
        }
        int cur = 0;
        for(int i=0;i<n;i++){
            cur = max(cur,freq[i]);
        }
        int rem = n - cur;
        if(cur - rem>1){
            cout << "-1\n" ;
            continue;
        }
        vector<int> res(n+2,-1);
        int baki = n;
        for(int i=1;i<=n;i++){
            cur = 0;
            for(int j=0;j<26;j++)cur=max(cur,freq[j]);
            rem = baki - cur;
            if(cur>rem){
                for(int j=0;j<26;j++){
                    if(freq[j]==cur){
                        res[i] = j;
                        freq[j]--;
                        break;
                    }
                }
            }else{
                for(int j=0;j<26;j++){
                    if(freq[j] && res[i-1]!=j){
                        res[i] = j;
                        freq[j]--;
                        break;
                    }
                }
            }
            baki--;
        }
        for(int i=1;i<=n;i++){
            cout << (char)(res[i]+'a');
        }
        cout << endl;
    }
}






Information

Submit By
Type
Submission
Problem
P1209 B. Rearrange the String
Language
C++17 (G++ 13.2.0)
Submit At
2025-07-15 15:29:19
Judged At
2025-07-15 15:29:19
Judged By
Score
0
Total Time
1ms
Peak Memory
532.0 KiB