제출 #146749

#제출 시각아이디문제언어결과실행 시간메모리
146749TadijaSebez스탬프 수집 (JOI16_ho_t2)C++11
100 / 100
6 ms1312 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long const int N=100050; char s[N]; ll Calc(int l, int r) { ll J=0,O=0,I=0; for(int i=l;i<=r;i++) { if(s[i]=='J') J++; if(s[i]=='O') O+=J; if(s[i]=='I') I+=O; } return I; } int J[N],I[N]; int main() { int n; scanf("%i",&n); scanf("%s",s+1); s[0]='J';s[n+1]='I'; ll ans=max(Calc(0,n),Calc(1,n+1)); ll tmp=Calc(1,n); for(int i=1;i<=n;i++) J[i]=J[i-1]+(s[i]=='J'); for(int i=n;i>=1;i--) I[i]=I[i+1]+(s[i]=='I'); for(int i=1;i<=n;i++) ans=max(ans,tmp+(ll)J[i]*I[i+1]); printf("%lld\n",ans); return 0; }

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

2016_ho_t2.cpp: In function 'int main()':
2016_ho_t2.cpp:21:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%i",&n);
  ~~~~~^~~~~~~~~
2016_ho_t2.cpp:22:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%s",s+1);
  ~~~~~^~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...