QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#310896#7773. 重排zyz0710 18ms5920kbC++171.4kb2024-01-21 19:33:272024-01-21 19:33:27

Judging History

你现在查看的是最新测评结果

  • [2024-01-21 19:33:27]
  • 评测
  • 测评结果:10
  • 用时:18ms
  • 内存:5920kb
  • [2024-01-21 19:33:27]
  • 提交

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...

output:


result: