# | 제출 시각UTC-0 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
927936 | TAhmed33 | Crossing (JOI21_crossing) | C++98 | 844 ms | 46848 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
using namespace std;
#define int __int128
#define mid ((l + r) >> 1)
#define tl (node + 1)
#define tr (node + 2 * (mid - l + 1))
const int MOD = (1ll << 61) - 1;
const int b = 1e9 + 7;
map <char, int> ll = {
{'J', 0},
{'O', 1},
{'I', 2}
};
long long n;
const int MAXN = 200025;
int pw[MAXN];
int inv[MAXN];
int sub (int a, int b) {
if (!b) return pw[a];
return (pw[a] - pw[b - 1] + MOD) % MOD;
}
struct SegmentTree {
int tree[2 * MAXN], lazy[2 * MAXN];
void prop (int l, int r, int node) {
if (-1 == lazy[node]) return;
if (l == r) {
tree[node] = (lazy[node] * sub(l, l)) % MOD;
lazy[node] = -1;
return;
}
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |