Submission #70829153
Source Code Expand
#include <bits/stdc++.h>
#define pii pair<int,int>
#define fi first
#define se second
#define mk make_pair
#define ll long long
#define lb(x) ((x)&(-(x)))
#define Rev reverse
#define all(s) s.begin(),s.end()
using namespace std;
const int N=1e6+10,mod=998244353;
int buc[55];
string s;int n;
int bf[N],id[N];
void slv(){
for(int i=0;i<26;i++) buc[i]=0;
cin>>s;n=s.length();
for(auto ed:s){
buc[ed-'a']++;
}
int mx=0,mxid=0;
for(int i=0;i<26;i++){
if(buc[i]>mx) mx=buc[i],mxid=i;
}
if(mx<=(n+1)/2){
priority_queue<pii> q;
for(int i=0;i<26;i++) q.push(mk(buc[i],i));
int la=-1;
for(int i=1;i<=n;i++){
pii tp=q.top();q.pop();
if(tp.se==la){
pii tmp=q.top();q.pop();
q.push(tp);tp=tmp;
}la=tp.se;
cout<<(char)(tp.se+'a');
tp.fi--;q.push(tp);
}
}else{
int tp=0;
for(int i=0;i<26;i++){
if(i==mxid) continue;
for(int j=1;j<=buc[i];j++)
id[++tp]=i;
}
for(int i=0;i<=tp;i++) bf[i]=1,mx--;
int x=0;
while(mx>=2){
bf[x]+=2,mx-=2;
x++;if(x>tp) x=0;
}if(mx) bf[tp]+=mx;
for(int i=1;i<=bf[0];i++) cout<<(char)('a'+mxid);
for(int i=1;i<=tp;i++){
cout<<(char)('a'+id[i]);
for(int j=1;j<=bf[i];j++) cout<<(char)('a'+mxid);
}
}cout<<endl;
}
int main(){
//freopen("3.in","r",stdin);
//freopen("3.out","w",stdout);
ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
int t=1;cin>>t;
while(t--) slv();
cout.flush();
cerr<<clock()*1.0/CLOCKS_PER_SEC<<endl;
return 0;
}
Submission Info
| Submission Time | |
|---|---|
| Task | B - Minimize Even Palindrome |
| User | LYLAKIOIAKIOI |
| Language | C++23 (GCC 15.2.0) |
| Score | 700 |
| Code Size | 1796 Byte |
| Status | AC |
| Exec Time | 5 ms |
| Memory | 4976 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 700 / 700 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | sample-01.txt |
| All | max-01.txt, max-02.txt, max-03.txt, mixed-01.txt, mixed-02.txt, mixed-03.txt, mixed-04.txt, mixed-05.txt, mixed-06.txt, mixed-07.txt, sample-01.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| max-01.txt | AC | 4 ms | 4012 KiB |
| max-02.txt | AC | 5 ms | 3908 KiB |
| max-03.txt | AC | 4 ms | 4976 KiB |
| mixed-01.txt | AC | 4 ms | 3744 KiB |
| mixed-02.txt | AC | 5 ms | 3824 KiB |
| mixed-03.txt | AC | 2 ms | 3952 KiB |
| mixed-04.txt | AC | 4 ms | 4128 KiB |
| mixed-05.txt | AC | 4 ms | 4516 KiB |
| mixed-06.txt | AC | 5 ms | 4260 KiB |
| mixed-07.txt | AC | 5 ms | 4236 KiB |
| sample-01.txt | AC | 2 ms | 3824 KiB |