제출 #540590

#제출 시각아이디문제언어결과실행 시간메모리
540590guestLinear Garden (IOI08_linear_garden)C++14
0 / 100
33 ms5336 KiB
#include <bits/stdc++.h> #define ll long long using namespace std; const int N=1e6+10; int n,m; int f[N]; string s; void solve() { int h = -1e9, l = 1e9, cnt =0 ; ll ans = 0; for (int j = 0; j < n; ++j) { int i=j+1; h = max(h, cnt); l = min(l, cnt); if (s[i] == 'L') ++cnt; if (s[i] == 'P') { ++cnt; if (cnt - l > 2) { cnt-=2; continue; } if (max(cnt, h) - l == 2){ { ans += f[(n-i)/2]; ans %= m; } } else { ans += f[(n-i)/2] + f[(n-i+1)/2] - 1; ans %= m; } cnt -= 2; } } cout<<ans+1; } int main() { cin>>n>>m; cin>>s; f[0] = 1; for (int i = 1; i <= n; ++i) f[i] = (2*f[i - 1]) % m; solve(); return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...