Submission #772642

# Submission time Handle Problem Language Result Execution time Memory
772642 2023-07-04T09:41:47 Z hgmhc JOIOJI (JOI14_joioji) C++17
100 / 100
33 ms 6064 KB
#include <bits/stdc++.h>
using namespace std; using ii = pair<int,int>; using ll = long long;
#define rep(i,a,b) for (auto i = (a); i <= (b); ++i)
#define per(i,a,b) for (auto i = (b); i >= (a); --i)
#define all(x) begin(x), end(x)
#define siz(x) int((x).size())
#define Mup(x,y) x = max(x,y)
#define mup(x,y) x = min(x,y)
#define fi first
#define se second
#define dbg(...) fprintf(stderr,__VA_ARGS__)


const int N = 2e5+3;
int n, ans;
char s[N];
map<ii,ii> m;

int main() {
    scanf("%d %s ", &n, s+1);
    int j=0, o=0, i=0;
    m[{0,0}]={0,0};
    rep(k,1,n) {
        if(s[k]=='J')j++;
        if(s[k]=='O')o++;
        if(s[k]=='I')i++;
        if (m.count({j-o,o-i})) m[{j-o,o-i}].se = k;
        else m[{j-o,o-i}] = {k,k};
    }
    for (auto [k,v] : m) Mup(ans, v.se-v.fi);
    printf("%d", ans);
}

Compilation message

joioji.cpp: In function 'int main()':
joioji.cpp:20:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   20 |     scanf("%d %s ", &n, s+1);
      |     ~~~~~^~~~~~~~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Correct 1 ms 212 KB Output is correct
7 Correct 0 ms 212 KB Output is correct
8 Correct 1 ms 212 KB Output is correct
9 Correct 0 ms 212 KB Output is correct
10 Correct 1 ms 332 KB Output is correct
11 Correct 1 ms 212 KB Output is correct
12 Correct 0 ms 212 KB Output is correct
13 Correct 0 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 1 ms 340 KB Output is correct
3 Correct 1 ms 344 KB Output is correct
4 Correct 1 ms 340 KB Output is correct
5 Correct 1 ms 340 KB Output is correct
6 Correct 1 ms 340 KB Output is correct
7 Correct 1 ms 340 KB Output is correct
8 Correct 1 ms 340 KB Output is correct
9 Correct 1 ms 340 KB Output is correct
10 Correct 1 ms 340 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 468 KB Output is correct
2 Correct 5 ms 832 KB Output is correct
3 Correct 8 ms 1364 KB Output is correct
4 Correct 19 ms 2124 KB Output is correct
5 Correct 24 ms 3208 KB Output is correct
6 Correct 29 ms 3340 KB Output is correct
7 Correct 31 ms 3844 KB Output is correct
8 Correct 30 ms 3216 KB Output is correct
9 Correct 33 ms 3572 KB Output is correct
10 Correct 29 ms 3292 KB Output is correct
11 Correct 23 ms 4948 KB Output is correct
12 Correct 18 ms 2112 KB Output is correct
13 Correct 14 ms 1364 KB Output is correct
14 Correct 18 ms 6064 KB Output is correct
15 Correct 10 ms 1108 KB Output is correct