Submission #136951

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
1369512019-07-26 16:21:37ksmzzang2003스탬프 수집 (JOI16_ho_t2)C++14
0 / 100
2 ms380 KiB
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll N;
string A;
ll pi[100003],pj[100003],po[100003],rpi[100003],rpo[100003],rpj[100003];
ll j,o,i,ret=0;
int main() {
cin>>N>>A;
for(ll i=0; i<N; i++) {
pj[i] = ((i>0)?pj[i-1]:0) +(A[i]=='J');
po[i] = ((i>0)?po[i-1]:0) +(A[i]=='O');
pi[i] = ((i>0)?pi[i-1]:0) +(A[i]=='I');
}
ll maxv = 0;
for(ll i=N-1; i>=0; i--) {
rpi[i] = rpi[i+1]+(A[i]=='I');
rpj[i] = rpj[i+1]+(A[i]=='J');
rpo[i] = rpo[i+1]+(A[i]=='O');
}
for(ll i=0;i<N;i++) if(A[i]=='O') o+=pj[i]*rpi[i],maxv=max(maxv,pj[i]*rpi[i]); o+=maxv; ret = max(ret,o);
o=0;
string B = A;
A='J'+B; N++;
for(ll i=0; i<N; i++) {
pj[i] = ((i>0)?pj[i-1]:0)+(A[i]=='J');
po[i] = ((i>0)?po[i-1]:0)+(A[i]=='O');
pi[i] = ((i>0)?pi[i-1]:0)+(A[i]=='I');
}
for(ll i=N-1; i>=0; i--) {
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Compilation message (stderr)

2016_ho_t2.cpp: In function 'int main()':
2016_ho_t2.cpp:21:5: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
     for(ll i=0;i<N;i++) if(A[i]=='O') o+=pj[i]*rpi[i],maxv=max(maxv,pj[i]*rpi[i]); o+=maxv; ret = max(ret,o);
     ^~~
2016_ho_t2.cpp:21:84: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
     for(ll i=0;i<N;i++) if(A[i]=='O') o+=pj[i]*rpi[i],maxv=max(maxv,pj[i]*rpi[i]); o+=maxv; ret = max(ret,o);
                                                                                    ^
2016_ho_t2.cpp:35:5: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
     for(ll i=0;i<N;i++) if(A[i]=='O') o+=pj[i]*rpi[i];  ret = max(ret,o);
     ^~~
2016_ho_t2.cpp:35:57: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
     for(ll i=0;i<N;i++) if(A[i]=='O') o+=pj[i]*rpi[i];  ret = max(ret,o);
                                                         ^~~
2016_ho_t2.cpp:48:5: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
     for(ll i=0;i<N;i++) if(A[i]=='O') o+=pj[i]*rpi[i]; ret = max(ret,o);
     ^~~
2016_ho_t2.cpp:48:56: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
     for(ll i=0;i<N;i++) if(A[i]=='O') o+=pj[i]*rpi[i]; ret = max(ret,o);
                                                        ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...