# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
71498 | 2018-08-24T23:14:36 Z | RezwanArefin01 | Linear Garden (IOI08_linear_garden) | C++17 | 38 ms | 10572 KB |
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<int, int> ii; const int N = 1e6 + 10; int f[N], n, M; char s[N]; int main(int argc, char const *argv[]) { scanf("%d %d", &n, &M); scanf(" %s", s); int len = strlen(s); f[0] = 1; for(int i = 1; i < N; i++) f[i] = f[i - 1] * 2ll % M; int idx = 1, bal = 0, mn = 0, mx = 0; #define add(x, y) {x += y; if(x >= M) x -= M;} #define sub(x, y) {x -= y; if(x < 0) x += M;} for(int i = 0; i < len; i++) { if(s[i] == 'L') { mx = max(mx, ++bal); } else { int bal2 = bal + 1; int mn2 = min(mn, bal2); int mx2 = max(mx, bal2); int rem = n - i - 1; mn = min(mn, --bal); if(mx2 - mn2 > 2) continue; if(mx2 - mn2 == 2) { if(mn2 < bal2 && bal2 < mx2){ add(idx, f[rem + 1 >> 1]); } else add(idx, f[rem >> 1]); } else { add(idx, f[rem >> 1]); add(idx, f[rem + 1 >> 1]); sub(idx, 1); } } } printf("%d\n", idx); }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 27 ms | 4216 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 24 ms | 4328 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 25 ms | 4416 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 26 ms | 4432 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 26 ms | 4564 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 26 ms | 4564 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 24 ms | 4564 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 28 ms | 4612 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 26 ms | 4636 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 25 ms | 4636 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 25 ms | 4636 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 26 ms | 4636 KB | Output is correct |
2 | Correct | 25 ms | 4672 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 26 ms | 4676 KB | Output is correct |
2 | Correct | 24 ms | 4676 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 27 ms | 4676 KB | Output is correct |
2 | Correct | 26 ms | 4676 KB | Output is correct |
3 | Correct | 26 ms | 4676 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 26 ms | 4764 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 25 ms | 4764 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 24 ms | 4824 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 25 ms | 4888 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 28 ms | 5540 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 28 ms | 5936 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 30 ms | 6604 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 31 ms | 7360 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 38 ms | 8608 KB | Output is correct |
2 | Correct | 33 ms | 9680 KB | Output is correct |
3 | Correct | 36 ms | 10572 KB | Output is correct |