Submission #64448

#TimeUsernameProblemLanguageResultExecution timeMemory
64448Bodo171parentrises (BOI18_parentrises)C++14
56 / 100
186 ms5676 KiB
#include <iostream> #include <fstream> using namespace std; const int nmax=1000005; string s; char ans[nmax]; int st1[nmax],st2[nmax]; int tip,cnt,u,t,i,u1,u2,p1; int answ[]={0,0,1,2,2,6,12,18,43,86,148,326,652,1194,2531,5062,9578,19884,39768,76680,157236,314472,613440,1248198,2496396,4906266}; int main() { //freopen("data.in","r",stdin); cin>>tip; if(tip==1) { cin>>t; for(int cnt=1;cnt<=t;cnt++) { cin>>s;u1=u2=0; bool ok=1; for(i=0;i<s.size();i++) { if(s[i]=='(') { st1[++u1]=i; st2[++u2]=i; } else { if(u1) { ans[st1[u1]]='R'; u1--; ans[i]='R'; } else { if(u2) { ans[st2[u2]]='G'; u2--; ans[i]='B'; } else ok=0; } } } p1=1; for(i=0;i<s.size();i++) if(s[i]==')') { if(p1<=u1&&st1[p1]<=i) { ans[st1[p1]]='B'; p1++; ans[i]='G'; } } for(i=0;i<s.size();i++) if(!ans[i]) ok=0; if(p1<=u1||(!ok)) { for(i=0;i<s.size();i++) ans[i]=0; cout<<"impossible\n"; continue; } cout<<ans<<'\n'; for(i=0;i<s.size();i++) ans[i]=0; } } else { cin>>t; int x; for(i=1;i<=t;i++) { cin>>x; cout<<answ[x]<<'\n'; } } return 0; }

Compilation message (stderr)

parentrises.cpp: In function 'int main()':
parentrises.cpp:22:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             for(i=0;i<s.size();i++)
                     ~^~~~~~~~~
parentrises.cpp:50:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             for(i=0;i<s.size();i++)
                     ~^~~~~~~~~
parentrises.cpp:60:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             for(i=0;i<s.size();i++)
                     ~^~~~~~~~~
parentrises.cpp:65:26: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
                 for(i=0;i<s.size();i++)
                         ~^~~~~~~~~
parentrises.cpp:71:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             for(i=0;i<s.size();i++)
                     ~^~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...