Wrong Answer
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