#include <bits/stdc++.h> #define int long long //(有超时风险) #define PII pair<int,int> #define endl '\n' #define LL __int128 using namespace std; const int N=1e6+10,M=1e3+10,mod=998244353,INF=0x3f3f3f3f; string str,s[N],ans[N],f[N]; signed main() { std::ios::sync_with_stdio(false); std::cin.tie(nullptr); cin>>str; int cnt=0; for(int i=0;i<str.size();i++) { if(isupper(str[i])) s[++cnt]+=str[i]; else s[cnt]+=str[i]; } int len=0; for(int i=1;i<=cnt;i++) { int pos= lower_bound(f+1,f+len+1,s[i])-f; f[pos]=s[i]; len=max(len,pos); ans[pos]=ans[pos-1]+s[i]; } cout<<ans[len]<<endl; return 0; }
05-25
929
09-04
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交