제출 #1196829

#제출 시각아이디문제언어결과실행 시간메모리
1196829sleepntsheepJOIOJI (JOI14_joioji)C++17
0 / 100
1 ms580 KiB
#include <stdio.h> #include <map> #include <tuple> #define N 200000 #define N_ (N + 1) char s[N_]; int n, z, cj[N_], co[N_], ci[N_]; std::map<std::tuple<int, int, int>, int> m; int main() { scanf("%d%s", &n, s); for (int i = 0; i < n; ++i) ci[i + 1] = ci[i] + (s[i] == 'I'), cj[i + 1] = cj[i] + (s[i] == 'J'), co[i + 1] = co[i] + (s[i] == 'O'); for (int i = n - 1; i >= 0; --i) { std::tuple<int, int, int> w {i - cj[i], i - co[i], i - ci[i]}; if (m.count(w) && m[w] - i + 1 > z) z = 1 + m[w] - i; std::tuple<int, int, int> v {i - 3 * cj[i + 1] + 1, i - 3 * co[i + 1] + 1, i - 3 * ci[i + 1] + 1}; if (m.count(v) == 0) m[v] = i; } printf("%d\n", z); return 0; }

컴파일 시 표준 에러 (stderr) 메시지

joioji.cpp: In function 'int main()':
joioji.cpp:14:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   14 |     scanf("%d%s", &n, s);
      |     ~~~~~^~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...