# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
136943 | arnold518 | 스탬프 수집 (JOI16_ho_t2) | C++14 | 6 ms | 2168 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;
const int MAXN = 1e5;
int N;
char S[MAXN+10];
ll pj[MAXN+10], pi[MAXN+10], ans;
int main()
{
int i, j;
scanf("%d%s", &N, S+1);
for(i=1; i<=N; i++) pj[i]=pj[i-1]+(S[i]=='J');
for(i=N; i>=1; i--) pi[i]=pi[i+1]+(S[i]=='I');
ll now=0;
for(i=1; i<N; i++) now=max(now, pj[i]*pi[i+1]);
for(i=1; i<=N; i++) if(S[i]=='O') now+=pj[i]*pi[i];
ans=max(ans, now);
now=0;
for(i=1; i<=N; i++) if(S[i]=='O') now+=(pj[i]+1)*pi[i];
ans=max(ans, now);
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |