import { SegmentTree } from "../my-calendar-iii/SegmentTree.ts";import { searchSegmentLeaf } from "./searchSegmentLeaf.ts";
export default class MyCalendarTwo { #root: SegmentTree = SegmentTree( Number.MIN_SAFE_INTEGER, Number.MAX_SAFE_INTEGER, );
#increase(nodes: SegmentTree[]): boolean { for (const node of nodes) { if (node.value >= 2) return false; } for (const node of nodes) { node.value += 1; } return true; } book(start: number, end: number): boolean { const nodes = searchSegmentLeaf(start, end - 1, this.#root);
return this.#increase(nodes); }}