QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#310896 | #7773. 重排 | zyz07 | 10 | 18ms | 5920kb | C++17 | 1.4kb | 2024-01-21 19:33:27 | 2024-01-21 19:33:27 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
#define For(Ti,Ta,Tb) for(auto Ti=(Ta);Ti<=(Tb);++Ti)
#define Dec(Ti,Ta,Tb) for(auto Ti=(Ta);Ti>=(Tb);--Ti)
#define debug(...) fprintf(stderr,__VA_ARGS__)
#define range(Tx) begin(Tx),end(Tx)
using ll=long long;
const int N=1e6+5;
int n,cnt[26],kmp[N],mx[N],cur[26];
char s[N],ans[N];
bool check(string t){
int m=t.size();
t=" "+t;
copy(range(cnt),cur);
For(i,1,m){
if((--cur[t[i]-'a'])<0){
return 0;
}
}
for(int i=2,j=0;i<=m;++i){
while(j&&t[j+1]!=t[i]) j=kmp[j];
if(t[j+1]==t[i]) ++j;
kmp[i]=j;
}
mx[0]=0;
For(i,0,m){
mx[i]=max(mx[kmp[i]],i<m?t[i+1]-'a':0);
}
int j=m;
For(i,m+1,n){
int x=-1;
For(c,mx[j],25){
if(cur[c]){
x=c;
break;
}
}
if(!~x) return 0;
--cur[x];
while(j&&(j==m||t[j+1]!=x+'a')) j=kmp[j];
if(t[j+1]==x+'a') ++j;
}
For(i,1,m){
if(t[i]<mx[j]+'a'){
return 0;
}
while(j&&(j==m||t[j+1]!=t[i])) j=kmp[j];
if(t[j+1]==t[i]) ++j;
}
return 1;
}
// bool check(string t){
// bool ok=_check(t);
// debug("check %s=%d\n",t.c_str(),ok);
// return ok;
// }
int main(){
cin.tie(nullptr)->sync_with_stdio(false);
cin>>(s+1);
n=strlen(s+1);
For(i,1,n){
++cnt[s[i]-'a'];
}
For(i,1,n){
Dec(c,25,0){
ans[i]=c+'a';
if(check(string(ans+1,ans+i+1))){
break;
}
}
}
cout<<(ans+1)<<'\n';
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Subtask #1:
score: 10
Accepted
Test #1:
score: 10
Accepted
time: 0ms
memory: 5588kb
input:
mmmmmmmmm
output:
mmmmmmmmm
result:
ok single line: 'mmmmmmmmm'
Test #2:
score: 0
Accepted
time: 1ms
memory: 5788kb
input:
qqymfqgj
output:
fyqqqmjg
result:
ok single line: 'fyqqqmjg'
Test #3:
score: 0
Accepted
time: 0ms
memory: 3772kb
input:
wtzyztttz
output:
tywtztztz
result:
ok single line: 'tywtztztz'
Test #4:
score: 0
Accepted
time: 1ms
memory: 5668kb
input:
bcbccccbcc
output:
bccbccbccc
result:
ok single line: 'bccbccbccc'
Test #5:
score: 0
Accepted
time: 1ms
memory: 5592kb
input:
hojqbzgfb
output:
bqojhgfbz
result:
ok single line: 'bqojhgfbz'
Test #6:
score: 0
Accepted
time: 1ms
memory: 5668kb
input:
rjyrbjqlz
output:
bzyrrqljj
result:
ok single line: 'bzyrrqljj'
Test #7:
score: 0
Accepted
time: 1ms
memory: 5588kb
input:
oiyholvco
output:
cyvooolih
result:
ok single line: 'cyvooolih'
Test #8:
score: 0
Accepted
time: 0ms
memory: 5656kb
input:
ubbnfttog
output:
bttongfbu
result:
ok single line: 'bttongfbu'
Test #9:
score: 0
Accepted
time: 1ms
memory: 5644kb
input:
hhuhttttj
output:
htthuhttj
result:
ok single line: 'htthuhttj'
Test #10:
score: 0
Accepted
time: 1ms
memory: 5548kb
input:
rnurrrrkrr
output:
kurrrrrrrn
result:
ok single line: 'kurrrrrrrn'
Test #11:
score: 0
Accepted
time: 1ms
memory: 5656kb
input:
wwwwrrwwrr
output:
rwrwwrwrww
result:
ok single line: 'rwrwwrwrww'
Test #12:
score: 0
Accepted
time: 1ms
memory: 5592kb
input:
tppvcjlls
output:
cvtsppllj
result:
ok single line: 'cvtsppllj'
Test #13:
score: 0
Accepted
time: 1ms
memory: 5640kb
input:
fyrrwriyxr
output:
fyyxwrrrri
result:
ok single line: 'fyyxwrrrri'
Test #14:
score: 0
Accepted
time: 1ms
memory: 5816kb
input:
ouulnlasnu
output:
auuusonnll
result:
ok single line: 'auuusonnll'
Test #15:
score: 0
Accepted
time: 1ms
memory: 5644kb
input:
aasapssss
output:
aspassass
result:
ok single line: 'aspassass'
Subtask #2:
score: 0
Wrong Answer
Test #16:
score: 20
Accepted
time: 0ms
memory: 5848kb
input:
bbbbbbbcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
output:
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbc
result:
ok single line: 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbc'
Test #17:
score: 0
Accepted
time: 1ms
memory: 5812kb
input:
aaaaaaaabcaabacacaaaacaaabaaaabaabaaaaac
output:
aaabaaacaaabaaacaaabaaacaaabaaacaaabaaac
result:
ok single line: 'aaabaaacaaabaaacaaabaaacaaabaaacaaabaaac'
Test #18:
score: -20
Wrong Answer
time: 1ms
memory: 5584kb
input:
abbcbbbabbacbbbbabcbbbabbbcbabbbababbaabbbb
output:
abbbbabbbbbacacabbbbbabbbbbacacabbbbbabbbbb
result:
wrong answer 1st lines differ - expected: 'abbbbacacacacabbbbbabbbbbabbbbbabbbbbabbbbb', found: 'abbbbabbbbbacacabbbbbabbbbbacacabbbbbabbbbb'
Subtask #3:
score: 0
Wrong Answer
Test #31:
score: 30
Accepted
time: 17ms
memory: 5920kb
input:
elppjxhjnqephxnnleeepqllpeellqpleexepxlqnpelnlpgplxejlpllppleppnllhjhppgneleghexegqpxpqlqhpnenhlgjjepelllpexplqeppexpqeghpplnpxegeeehqgnhxeqllplphlxpppqnhqephlqnxenlehpeplnqenheejhxqxleeljepehlngepgpxpllppeeheelpplpexpqgheelllplpqnllexlphepghllxnnepqjpqepjeheqqghhejhlnlnlqleeplepxhnlqlnppjpeelqeelxg...
output:
eppppnllllllllllllljjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexexe...
result:
ok single line: 'eppppnllllllllllllljjjjjjjjjjj...llllllllllleppppnllllllllllllll'
Test #32:
score: 0
Accepted
time: 17ms
memory: 3828kb
input:
vqfiiyoutipohliojhwhyohiqholfovovhwvuffvifvlffiuwhphmoofjyhhjtfimiisjqwwjtvlotmpivlvyoilvwhhygofhvffoiftmyhpvjqypqfoihfhfjisoiwjujuqvijofilwqjjmqfymtiivfoplifwjplvfvfqvstlihfotqjfylowttwsyvsifvfhptpfovqilvujfyltohvmjtijhpiyffpvyiioyvjqpfjhshowphuttflpfojiovhvtiwfymfvwyooftimyumoomosjlitviowfhtoovlov...
output:
fwvvuuuuuuuttttttttttttttttttttttttttttssssssssssssssssssssqqqqqqqqqqqqqqqqqqqqqqqqqqqppppppppppppppppppppppppppppppppppppppppppppppoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooommmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmllllllllllllllllllll...
result:
ok single line: 'fwvvuuuuuuuttttttttttttttttttt...uuttttttttttttttttttttttttttttt'
Test #33:
score: 0
Accepted
time: 18ms
memory: 5868kb
input:
hdkfjdurfkufuqjhfrhodhrqqsjjaduooafqrkfjhufjqfuqqjhryrahhyggkorjqfjraohrfrqkfjjqarkdfryrooyuoffuqfyyfhdjmhghumjojuafkdrqmohrahhyaaouqfjjojgjrykrhduoshqahquhhoqahokgkfhaojhkjkukafqqrdrsyfqahuqhqduqqufujohjgauoarjagfaaamjuqoqhqkrouuoryhhqyodjfqgjhykhryorguqkoffuyaqgoqodjragfrgkyojmodkuhyjyffuyyjajfhrf...
output:
aurrrqqqqqqqqqqqqoooooooooooooooooooooooooooooooooooooooooooommmmmmmmmmmmmmmmmmkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhggg...
result:
ok single line: 'aurrrqqqqqqqqqqqqooooooooooooo...ooooooooooooooooooooooooooooooo'
Test #34:
score: 0
Accepted
time: 14ms
memory: 3620kb
input:
uksbcbnccbkuqbtebuykgybzbzzbgtznktgzgutckyxbetckqbzzybfybqtykskkccgzskutkqgzyygszkeqgyecbkzbgckktshzgzkbkbztbybgtnntzyezbgtkzgncqkctxegbztzyyggnbyybbuykghsxegkekxhsuynkzyxbzxkcnksezeyejgnytegsyzcgkkyygbxstgytkyeuuzzktknzkeuksnkzgckbzcnegnbkzkzzgzqjzgyshyeeggnceggcyhctqscftbtczcbtyzyskcyyezyyfekyfcgb...
output:
bzyttsssssssssssssssssssssssssssqqqqqqqqqqqqqqqqqqqnnnnnnnnnnnnnnnnnnnnnnkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjjhhhhhhhhgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggfffffffffff...
result:
ok single line: 'bzyttsssssssssssssssssssssssss...qqqqqqqqnnnnnnnnnnnnnnnnnnnnnnn'
Test #35:
score: 0
Accepted
time: 14ms
memory: 5604kb
input:
hhhccchhhcchhhcchccchcchccccchcchhchhchcchhhcchcccchhcchchccchhccccccchccccchhchcchcccchchhcchchccccchhhccccchhhchccchhccccchhchhccchccchchccccchhhccccchhcchchhchchchcchcchhhccccccccccchhhhcchchhcchhhhcchchcchcccchcchcccchchcccchcccchhhhccchcccchccccchhhcchcchchhccchchhhchcchcchcccchcchccchhccchhchc...
output:
cchcchchcchchcchchcchchcchchcchchcchcchchcchchcchchcchchcchchcchchcchchcchcchchcchchcchchcchchcchchcchchcchcchchcchchcchchcchchcchchcchchcchchcchcchchcchchcchchcchchcchchcchchcchcchchcchchcchchcchchcchchcchchcchchcchcchchcchchcchchcchchcchchcchchcchcchchcchchcchchcchchcchchcchchcchchcchcchchcchchcch...
result:
ok single line: 'cchcchchcchchcchchcchchcchchcc...hcchchcchchcchchcchchcchchcchch'
Test #36:
score: -30
Wrong Answer
time: 12ms
memory: 5712kb
input:
uuuucuuuuuuuuucupuuuupouuuuuuuuucducuuuuupuocupuuuuocuuuuuduuuicduuuuuuuuuuuuuiiuuucupuuuuuuuuocuuuucuuuuuuouuicccusuuuuuiuuuuuucuuuuucuuuuuiupuuuuuuucuccuuucucucuuduuuuuuuuucuuuuiuuuucccupouucuuuuuuuuuuuuuuuusuuuuouuduucuuuuuiuuuuuuiuuuuucuucuuuuuuucuupuuupuuuuuuououuduuuiiucuuucuuuouuucuucuuouccuu...
output:
cuuuuuuuupooiiiiiiiddddddddddcycycvcvcvcuuuuuuuuucuuuuuuuuucuuuuuuuuucuuuuuuuuucuuuuuuuuucuuuuuuuuucuuuuuuuuucuuuuuuuuucuuuuuuuuucuuuuuuuuucuuuuuuuuucuuuuuuuuucuuuuuuuuucuuuuuuuuucuuuuuuuuucuuuuuuuuucuuuuuuuuucuuuuuuuuucuuuuuuuuucuuuuuuuuucuuuuuuuuucuuuuuuuuscuuuuuuuuscuuuuuuuuscuuuuuuuuppcuuuuuuuup...
result:
wrong answer 1st lines differ - expected: 'cuuuuuuuupooiiiiiiiddddddddddc...icuuuuuuuupooiiiiiiiddddddddddd', found: 'cuuuuuuuupooiiiiiiiddddddddddc...scuuuuuuuuscuuuuuuuuscuuuuuuuus'
Subtask #4:
score: 0
Time Limit Exceeded
Test #46:
score: 0
Time Limit Exceeded
input:
ksetiktesataqqwcetteiqcqtwakaiaaaqciceaticteectqqtcaectqtsticctqeqeeiieecaqtctctqqeqitqtttccccctikacktaaqteictwstcitttectaitttiqeqasskkqaateeaatqaetttccesqitiecatgqqaqitwqtaqqcqittittiswcweaiqicqiecwtccakaattgtickccqkqckaaewkekccggtiiqqsttcqactiqeaeqtiigeekettaieekectqqckqqteiceacwecktaiteaceaqkqeic...