QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#591332 | #5534. Match | rotcar07 | 100 ✓ | 37ms | 17732kb | C++20 | 2.0kb | 2024-09-26 15:26:50 | 2024-09-26 15:26:50 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
mt19937 rnd(time(0));
constexpr int maxn=1e5+5;
int cnt[26],lst[26];
typedef long long ll;
constexpr ll mod=1e9+9;
struct mat{
ll a[2][2];
mat(int x=0){a[0][0]=a[1][1]=x,a[0][1]=a[1][0]=0;}
inline ll* operator [](int ind){return a[ind];}
mat operator * (mat&b){
mat c;
for(int i:{0,1})for(int j:{0,1}) c[i][j]=(a[i][0]*b[0][j]+a[i][1]*b[1][j])%mod;
return c;
}
inline operator bool(){return a[0][0]==1&&a[1][1]==1&&a[0][1]==0&&a[1][0]==0;}
inline bool operator < (const mat&o)const{
for(int i:{0,1})for(int j:{0,1}) if(a[i][j]!=o.a[i][j]){
if(a[i][j]<o.a[i][j]) return 1;
else return 0;
}
return 0;
}
inline void output(){
for(int i:{0,1})for(int j:{0,1}) cout<<a[i][j]<<' ';
}
};
mat pre[maxn],ch[26][2],v[maxn];
string s;int n;
mat qpow(mat a,ll b){
mat c(1);
while(b){
if(b&1) c=c*a;
a=a*a;b>>=1;
}return c;
}
int main(){
std::ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
cin>>s;n=s.length();
for(int i=0;i<26;i++){
do{
for(int k:{0,1})for(int j:{0,1}) ch[i][0][k][j]=rnd()%mod;
}while(!qpow(ch[i][0],mod-1));
ch[i][1]=qpow(ch[i][0],mod-2);
}s=' '+s;
for(int i=1;i<=n;i++){
int x=s[i]-'a',&f=cnt[x];
v[i]=ch[x][f];f^=1;
}
pre[0]=mat(1);
map<mat,vector<int>> lst;
for(int i=1;i<=n;i++) pre[i]=pre[i-1]*v[i],lst[pre[i]].push_back(i);//pre[i].output(),cout<<'\n';
if(!pre[n]) return puts("-1"),0;
auto dfs=[&](int l,int r,auto dfs) -> void {
// cout<<l<<' '<<r<<'\n';
if(l>r) return;
auto &v=lst[pre[l]];
int to=*prev(upper_bound(v.begin(),v.end(),r));
// cout<<l<<' '<<r<<' '<<to<<'\n';
assert(to>=l);
putchar('(');
dfs(l+1,to,dfs);
putchar(')');
dfs(to+2,r,dfs);
};
dfs(1,n,dfs);
putchar('\n');
}
Details
Tip: Click on the bar to expand more detailed information
Subtask #1:
score: 10
Accepted
Test #1:
score: 10
Accepted
time: 2ms
memory: 9984kb
input:
abbaaa
output:
(()())
result:
ok single line: '(()())'
Test #2:
score: 10
Accepted
time: 0ms
memory: 9872kb
input:
cbbbbccbbccbbbbbbc
output:
(((((((()))())))))
result:
ok single line: '(((((((()))())))))'
Test #3:
score: 10
Accepted
time: 2ms
memory: 9880kb
input:
ddbcbdacccbddaba
output:
-1
result:
ok single line: '-1'
Subtask #2:
score: 27
Accepted
Dependency #1:
100%
Accepted
Test #4:
score: 27
Accepted
time: 2ms
memory: 10216kb
input:
fsooskkkksokkkkossskkiffoofooikkiiiiiooikkkksookkiissiooookskffsskiiksskiikfiifkifofssooffffkfiiiifkfsiisfsofossiffissikskiikkkiikokikkffkiiksffkkiossifkiookioffoikkkoiiiooioiffkkkssfoooiiiioioskksisikkkoifiooikkkkfiffississkskiofffiffiiiosksskfffofisksksskiisikkskkkksoosiffoofoiooioooifiifssfffffoi...
output:
((((((())))(()))(((()(((()((((()(()))))((((((()((((())(())((((((((())))(()))()))((((((()((()(((()))))(())))((((((())))(((((((()())(((((())())(()()((()(((((((((()))()))(()())))()())())(()(()))))(()))))()))(((())(())))())())())))))())(()())))(())()))))))((())())))))))))(()))))())((())()))(())))((())((...
result:
ok single line: '((((((())))(()))(((()(((()((((...))(())(()))(())())))))))((())))'
Test #5:
score: 27
Accepted
time: 2ms
memory: 10168kb
input:
vvrookjqmmooqlfhnnhflrcbxuuxftajjcqdppoowsswniwsswzzvvisqqbxqniinqeeeaanojvhhttviezzxujjuxyyektlltkoouwwukcqqcifommxxorrnnfgzzyggygvzzvgtxqqxkkummpssllpubbssuubddbebttkkblzzofmmyooyfoqqlpnzznppmvbnnlrrqqlwwbeiievxcnnwppweasjhcchjcarobbogljjlqqgznffmlfabjpiipepummubbbbggzzpjjvvejvgmmqrrkffkqgefrrdbbd...
output:
()(()(((()())(((())))((((())(((()(((((()(())(((())()())(()((((()))(()()((((()(((((()((()))())((())(()(()))(())(((()())()())(()(())((()))((())()(()(()())(()()))(())((()())(()((()(())))())((())()(((()(()())())(()))((()(())(((((()))((((())((())()(((()(((((((())(((())(())()())()()))((()(()(())))((()(())...
result:
ok single line: '()(()(((()())(((())))((((())((...()(()(()))))(())()))(()()()))))'
Test #6:
score: 27
Accepted
time: 0ms
memory: 10020kb
input:
uuueeeuuueeueeeeeeeuueueueeuuuuueeeueeeeeueueueuueuueeueuuuuuuueueueeuueeueeuueeueuueeeueuueeeueueueuueuuueeeeueuuuuueuueueueuuueuuueeeeuueeueeeeeuuuueeeeeuuuueeuuuueueeueuueuuueeeeuueueueueeeeeeeuueueuuueuuuueueeuuueuuuueuuueeuueeeeueeuueuuuuuuuuueeeueuuueueeueeeeuueeuuuueuueeuuueuueeuuueeueeuueueu...
output:
((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((...
result:
ok single line: '((((((((((((((((((((((((((((((...)))))))))))))))))))))))))))))))'
Test #7:
score: 27
Accepted
time: 2ms
memory: 10020kb
input:
qeeqqqeeqqqquqeeeequuquuuqqqeqqqeeqquqqeeeuuueqqeeqqqqqeeeeeeeeeuqeqquuueeuqeqeqqueeuuuueeeeuuuqqquueuqeeeqeeeqeeqeqqequeeueqquuquqququqqqqueuqueuuuueuueeuueueeququeeeqeeqeeqqeuqeuequququuuuuueuuueeeuueeeqeuqquueuueeuquuqqqeqeuqqeqqquuueuuuuueeuuqeeeeeeeueuuuququeqqqqeeuqeuuquuueueeuuuqeqeeuqqqquuuq...
output:
((((((()()))((((()(((((()(()((((()))((((()((((((()(()))((((())))((((((()()))(((((((((())()))())(()()(((((((((((((((()))(()((((())(()))((()))))((((((((((())))(()((((((((())))())(((((((((((((())((()(((()(((((((((((((())(()(((((((()(((((((((((((()()(((((((((((()((((((((((((((()((((((()())(((()((())(()(...
result:
ok single line: '((((((()()))((((()(((((()(()((...))))((())))())))((())))))()))))'
Subtask #3:
score: 63
Accepted
Dependency #1:
100%
Accepted
Dependency #2:
100%
Accepted
Test #8:
score: 63
Accepted
time: 0ms
memory: 10788kb
input:
jggeedfjvfppgdgqqufesgeljdjjoqqsgprqdddgueugpodpfldvgdgdpeuljfqrdrlgljugdujjdjrjevlqlqufoosjvsqvqgvruqrgsfsquqoovvvvfpofjdpvuesrqdfegguggrlvslsqjpddorjlodqflspgopeuppeoleeojlvjpddopjsouregflrfgpgqvlquqpplgrudllvdfsrplfljupveleggedljopqjjolslfpeeluvsufofpdlodgdvfvsujlgjpvggduorfforllorgsgrppvegglgver...
output:
((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((()((((((((((((((((((((((((((((((((((((((((((((((((((((((((()((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((()((((((((((((((((())((((((((((((((()((((((((((((((((((((((((((((((((((((((((((((()(((((((((...
result:
ok single line: '((((((((((((((((((((((((((((((...)))))))))))))))))))))))))))))))'
Test #9:
score: 63
Accepted
time: 11ms
memory: 15252kb
input:
zpujdttdnwtkfdfyddtbocyaeniizwubzgeybkccezxjldgtskmjfdywqlrihhckmbmvewoludvvmamdgkeholteaqujgssidpivwljbsnqgxltiviiwsvtekxiftlfkkudkwmbqczskkjsnilevhvdmuelnufvftyphloppctvwksjffecxblezsryszkxrjthxowwrittvjinyfkklllkydvzciiuaayomqjulladasktsyrvffdeennbwelfnhqoisiommrolzfvzkddskonisxlasgckqioouyqtsqfq...
output:
((((((((((((((((()((((((((((((((((((((()((((((((((((((((((((((((((((((((((()(((((((((((((((((()((((((((((((((((((((((((((((((((((((((((((((()(((((((((((((((((((((((((()(((((((((((((((((((((((((((((((((()(((((((((((((((((()(()((((((((((((((((((()(((()(((((((((((((()((((((((()(((((((((((((((((((((((((...
result:
ok single line: '((((((((((((((((()((((((((((((...)))))))))))))))))))))))))))))))'
Test #10:
score: 63
Accepted
time: 20ms
memory: 15604kb
input:
azekdamqaoetekbsselhazotlwwjnpxxceapyxsvgxutdtnnzzvovngkkrwvjrlddncosheotmepxghaeiakddfjzugxqunauvcbyipxtzkrjsdrjbcaozefshjwyrbdviigqvrpkkeamsvnkoyafpululfzaakbwgjkhfpnwihzeuwmydiazwjujussexlzbriochtfyvwbgpduxnkwvpycobczuuzmytnlllrvtyhzzwawtzkamqucyauxrlgthhayaidysemasybwnkjjiqoscacwsqprwjdfshttqriq...
output:
((((((((((((((((((((((((((((((()((((((((((((((((()((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((()((((((((((((((((((()((((((((((((((((((((((((((((()((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((()((((...
result:
ok single line: '((((((((((((((((((((((((((((((...))))))))()))))))))))))())))))))'
Test #11:
score: 63
Accepted
time: 24ms
memory: 16424kb
input:
mldshhxgdtnevvjvvvmdxxppbbrxxtpwboorjjrgpmmmnvthhjjtvbrpxpsxxsjjxtjjtpbevhhvvduprhjshccwoggsllsdcbbuubbutlojstebhrpnwsoxnopprssbuljwmxvgpprwlxnossuggmovhsggcbddprrhsthwnsleevshtnlodsjelhntswuultovcbbclndjjhnvvwewvodnmpslwnseupvccvshuusxvunnmoeeggoobbttsojjnjpvxdewnnndnlmeebprppsrppjcessehrrjnuutgpco...
output:
((((((((((((()((()((()()()(((((((()(()(((((((((()()))(((((((((()((())((((()()((((((((()((()(())((((()))(((((((((((((((((((()((((((((((((()(((((((((()(((((()((()(((((((((((()(((((((((((((((((()(((((())(((()((((((((((((((((((((((())((()((((()((()()()()((((()(((((((((()((((((((((((((((((())(((((()(((((...
result:
ok single line: '((((((((((((()((()((()()()((((...))))))))))))))()))))))()))))())'
Test #12:
score: 63
Accepted
time: 9ms
memory: 13592kb
input:
baabbabaaaaababababaabaababbbaababaabaaabbabbbaaababababbababaaaabaaaabbaaaababbabaabababababababbaabbaaabbbbbbaaabbbabbbabbaaaabbbbabaabaaabbbbabaabbbaabbbbaaaabababbbaabbbaabaabbbababbbabbbabaabbbabbaaaababaabaabbabbbbaababbabaaabaaaabbbaabaabaaabbaaabbaaaabaabbaaaabaabbbbabababaababbbaabbbbababbb...
output:
((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((...
result:
ok single line: '((((((((((((((((((((((((((((((...)))))))))))))))))))))))))))))))'
Test #13:
score: 63
Accepted
time: 6ms
memory: 13592kb
input:
baabbabaaaaababababaabaababbbaababaabaaabbabbbaaababababbababaaaabaaaabbaaaababbabaabababababababbaabbaaabbbbbbaaabbbabbbabbaaaabbbbabaabaaabbbbabaabbbaabbbbaaaabababbbaabbbaabaabbbababbbabbbabaabbbabbaaaababaabaabbabbbbaababbabaaabaaaabbbaabaabaaabbaaabbaaaabaabbaaaabaabbbbabababaababbbaabbbbababbb...
output:
((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((...
result:
ok single line: '((((((((((((((((((((((((((((((...)))))))))))))))))))))))))))))))'
Test #14:
score: 63
Accepted
time: 20ms
memory: 16004kb
input:
fbbfffbfbbgbgbfffggfbbfgfbggbbbgfgffgfgfbbfbbfbbgfbggfbbffbbfbbbffbfbfbbgbffgfgfgbbggbbfgfbfbgfgggbggbgbgfbfgbfgbggggggbffgggbffffbbbgfgffgbbgbbbgfffffbgbbgfffbbgbgbbbbgbfbfbbbbbbbfbbfgfbbffbfffgfgbgfggbffffbbgfgfbffbfbbbgffgbbgbggggbgbggggbffggbggbbgfgbfgbgfgbbfbgbbfgbgffgffggfffgfgfbggbgfbgfffbbbg...
output:
((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((()((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((...
result:
ok single line: '((((((((((((((((((((((((((((((...)))))))))))))))))))))))))))))()'
Test #15:
score: 63
Accepted
time: 10ms
memory: 12032kb
input:
aaaaaababbbaababaababbbabaabbabbaabaabaaaaaabaababbbaaaaaabaaaaaababbbbaaabbaaabaaabaabbabbabbbbababababaaabbabbabaabaaaaabbbbabbbaabbbbbbaabbaabaaaabbaabaaabababbaabaaaaabaaaaaaaaaabbbaabbaaaabbbabbabbaaabbbbabbbababbaaaaaabaabbabaaababaababbbababaaabaaaabbabaaaaabbababaabaabaabaaaaababbaabaabaabaa...
output:
((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((...
result:
ok single line: '((((((((((((((((((((((((((((((...)))))))))))))))))))))))))))))))'
Test #16:
score: 63
Accepted
time: 36ms
memory: 17272kb
input:
sccsyqrchhcltthddqhtyymrttrmqmdssyftssyyhlhsltqtcctrqqcltyhlcylqfsfqqccqhdstcrshclthdcttmqtqcttdhfyhymqdtmmqmmlyylccyrrlqhhrcsyydtdrrydsqllqcccftlqqqqlqchsccfqrrrscctchhryyfqccccyrhqrmmrmlddssfylfrlslssdtttqlsslqqldfyrtsclccdsfqcmmcyhhdmlltssryshcmmflsdydscmyfmmqyymfyqrclqqcyrfhrtlchccmryyhhtssdfdmm...
output:
(())((((()((()(()(((()((()))(((()(((()((((((((((()((()(((((((((((((((())((((((((((((((()(((((()(((((((((((((()((((()(()((()((((((((()((((())(((((((())(((((()(((()(()((()(()(((())(((((())((()()((((((((()((()((()(())((((((((()(((((())(()((()(()(((((((((((((((((((((()(((((((()((((((((((()((()()(()(((((...
result:
ok single line: '(())((((()((()(()(((()((()))((...)))))()))))()))))))))))))))))))'
Test #17:
score: 63
Accepted
time: 18ms
memory: 15632kb
input:
ovavvsmodolxnnvvvvnyyjggbddkvuuvlntjgvrrfqfjkgfqkbyiiiyxdshumxnmnksxxylkitzgooswtwidwwnfyvqbbdlvnsucpqxrrewwtkkffkpwuzrbiivqqssiaafkzzjhhpajcnuampgcovspbnlmszqigrfbbfqwnmvhryfoylvvbjhvepcppdixowicuurbjhvrmttifflliodtmmmtiitmmluaadrbnnfnjxtutbuqzivznlccuccnliolidijxnytuolnbgeuxdkwjpzwmpbvjzzschuddezz...
output:
(((()((((((((((()))()(()(()((())((((((()((((((((((((()((((((((((((((((((((((()((((((()(((((()((((((((((()(()(((()(((((((()(()(((()(((((((((((((((((((((((((((((((((())((((((((((((()(((((((()(((((((()(((((((()(()())(((((((())()((()(((()(((((((((((((((((((()((((((((((((((((((((((((((((((((((()((((()(((...
result:
ok single line: '(((()((((((((((()))()(()(()(((...)())))))))()())))))))))))()))))'
Test #18:
score: 63
Accepted
time: 37ms
memory: 17732kb
input:
slrusyssppylssldouuosrrrssslslpppplllrpossopyuuusluuooouuppllloyddlpdyldssyypploduusluuuurddryoyuldysdullsrrspyrrposddpyyodrssrrrllllulslolloullrlusslyoyyosuuddpysyprryodudpdpsoyydpylyoopsoosrssdppdlruurlpyspodyylyysyulyylssduyydlrrlrpyydpsooduoollddyuuysosslpplddoyssdpspoylrryllpyrrrsrsullurupyudos...
output:
((((((()())(())((())((()(()((((())(()(((()((((()(((((()()()(()((((((((((((()()(((()(((())(())((((((((((()(()(((()(((()(()(((()())((()(((((())(()((((((((())(()(((((((()((((((((((()(((((()((())(()(()(((()))(((((((((()((((())()((()((()(((()(((()((((()()(()(((()(())())(((((((((((((()(((()(((((((((((((((...
result:
ok single line: '((((((()())(())((())((()(()(((...))))))))))))()()))(()()))))))))'
Test #19:
score: 63
Accepted
time: 3ms
memory: 10156kb
input:
ccccsullullmmlcllmmculullzzulccuumllllzuuzmsrrzlsuulllrrlscclzzlcuzcccuuczuzzmmuuuumuumuuuzsrrrrssszuczmlcclmmcrccrcmzssssrrrllluulmmrszrrmmrrmlluuccmllmmssrruumsuummsuzzllccusmmmmsmssuzzlmmllluzuuzcccssuurrclrruuulmmlulzluummlclmmzzzscssmmcrrluuccsslssscclsslzuucrmuuccmmuumzzuumuussllmzuuzzrrrrruzc...
output:
((((((())((())(()())(((()()))((((((())(())((()((((((((()(((((()))(((()())((()(((()))())()))((())()))))(((())()((()))))(())(()(()())()))(((((()(()()())()))()))((((()((((()()()))()))))())()(()()))(())(()()()())(()(()(())))))()())(((((((((()())()(()()())())()(())((((((((()((())()())))()())(()()((())(((...
result:
ok single line: '((((((())((())(()())(((()()))(...()())))((()))))))(()))()())))))'
Test #20:
score: 63
Accepted
time: 3ms
memory: 10344kb
input:
qhhhssvggvwwgggsqwghhgssvqvgghqgsqqsswwsqvhgvwvvvgwgvssvgvvshhsssswwswgvqhqqhqhhhwwsvsssswwqqqwwqshghwhqqqvwwgsssswsswswwssvvssgqgqqvvvvgwwsqghhqshhhhqvsssvvgwhhwsqssssqgghqwssqggggssgwvqqqggggwwqgssswqswwwqvvghvshqwwqhsqqssvhssgvvqqqwqqsqwsgqggggqvwgqwqhsgvssvgvqqvghhsvqsqghhqwwwwsqgsssgvqhsswwssws...
output:
((()(((()(()(()((((())(((((((((((((((()((((((((((((((()))()(()(())()))))(((((((()()(((((((((()())(((((((()(()((((((())(()()()))(((()(()))()(((()(((())(((()((((())(((()))()(((()(((()())((((((())())((()((((()(((((((((()))(()))))())))()))()))))))(()))))))))))))())((()))()))))))())(())))))))))))((())))(...
result:
ok single line: '((()(((()(()(()((((())((((((((...(()((())()()))))))))()()(()()))'
Test #21:
score: 63
Accepted
time: 0ms
memory: 10528kb
input:
foczoiaaiikbddbtbeiaeblketbaaftzkdtikmmeatqktzjmbbddmfibbafkioobbzdbbldoqlcccctaqqlcctmqlbrdbdbrrijjejeeffkkooatizdoflorrdftkaffakdmdqdierzddcommbtticbkeebjbbjfafoejtembddfmberztklkbcqmeekrmefjjkbjokkkkkcrrbzajezzeabairbzkddfdettrkaajaztrzmcqieqbbcbbdrmmefrafbltmmmmjkttffbmfrblqcrllzltiqqierlkdocoqd...
output:
((((((()()((())((((((((((((()((((((((()(((((((((()())((()((((((()((()((((((())((()(()((((((((((()(()((()((()()(((((((((()(((((()))(((((((((()(((((()((((((((())((((((((((((((((((((((((((()(((((()(((((((()((((((((())((((((((()(((()((((((((((((((((()(()((()(((((((((())((()((((((((((((((((((((((((((((((...
result:
ok single line: '((((((()()((())((((((((((((()(...)))()(())))))))))))))))))))))))'