## Mindstorming 27 Agustus 2023
### Coach : Arnold A.
---
<details>
<summary>
<b>Review Materi - Prefix Sum</b>
</summary>
Prefix sum suatu array adalah jumlah elemen elemen dari array yang bisa digunakan untuk mendapatkan informasi jumlah dari suatu range
</details>
---
<details>
<summary>
<b>Warm Up Problem</b>
</summary>
Diberikan sebuah array $A$ berisi $N$ bilangan
Nilai $A_i$ berada diantara $-10^9$ s.d. $10^9$
Cari jumlah maksimal di sebuah subarray
- **Subtask 1** : $1 ≤ N ≤ 100$
- **Subtask 2** : $1 ≤ N ≤ 1000$
- **Subtask 3** : $1 ≤ N ≤ 100000$
</details>
---
<details>
<summary>
<b>Problem A - Easy</b>
</summary>
Diberikan sebuah array $A$ berisi $N$ bilangan
Nilai $A_i$ berada diantara $-10^9$ s.d. $10^9$
Cari banyaknya subarray yang memiliki jumlah $0$
Constraint :
- $1 ≤ N ≤ 1000$ Subtask 1
- $1 ≤ N ≤ 10^5$ Subtask 2
</details>
---
<details>
<summary>
<b>Problem B - Easy Medium</b>
</summary>
Diberikan sebuah array $A$ berisi $2N-1$ bilangan
Nilai $A_i$ berada diantara $1$ s.d. $10^9$
Semua elemen $A_i$ memiliki pasangan kecuali satu elemen. Carilah nilai $A_i$ yang **tidak** memiliki pasangan
<details>
<summary>Extra Challenge 🔥</summary>
Carilah tanpa menggunakan frequency array maupun array dalam kompleksitas O(N)
</details>
</details>
---
<details>
<summary>
<b>Problem C - Medium</b>
</summary>
Diberikan sebuah array $A$ berisi $N$ bilangan
Diketahui $0 ≤ A_i < 2^{30}$
Diberikan pula sebuah bilangan bulat $B (0 ≤ B < 2^{30})$
Carilah ada berapa pasangan $(i, j)$ dimana $1 ≤ i < j ≤ N$ dan $A_i \oplus A_j = B$
(Dimana $\oplus$ adalah notasi bitwise operator XOR)
Constraint :
- $1 ≤ N ≤ 10^5$
</details>
---
<details>
<summary>
<b>Problem D - Medium</b>
</summary>
Dua pemain (sebut saja Adi dan Budi) sedang bermain game angka. Juri secara rahasia akan memilih dua bilangan $a$ dan $b$ $(0 ≤ a, b < 2^{30})$
Kemudian ia akan :
- Memberi tahu nilai $a$ ke Adi
- Memberi tahu nilai $b$ ke Budi
- Memberi tahu nilai $a | b$ ke Adi maupun Budi
Adi mendapat giliran pertama. Di setiap giliran setiap pemain akan mengatakan salah satu dari hal berikut :
- _"Oh aku tau"_ - apabila ia bisa menentukan secara **pasti** apakah $a<b$, $a>b$ atau $a=b$. Kemudian permainan selesai setelah gilirannya
- _"Wah aku kurang tau"_ - apabila tidak
Kedua pemain cukup cerdas untuk berlogika. Tentukan berapa banyak giliran sebuah permainan akan berlangsung apabila diberikan $a$ dan $b$
</details>
---
<details>
<summary>
<b>Materi - Set, Multiset</b>
</summary>
Set adalah sebuah STL struktur data yang bisa menyimpan elemen elemen berbeda.
</details>
---
<details>
<summary>
<b>Problem E - Medium Hard</b>
</summary>
Diberikan sebuah array $A$ berisi $N$ buah bilangan bulat
Diketahui $-10^9 ≤ A_i ≤ 10^9$
Sebuah subarray disebut **unyu** apabila **tidak ada** subarray lain di dalam subarray tersebut yang memiliki jumlah $0$
Sebagai contoh subarray $[-1, 2, -3]$ unyu karena semua subarray di dalamnya tidak ada yang jumlahnya $0$
Tapi subarray $[-1, 2, -1, 3]$ tidak unyu karena di dalamnya ada subarray berisi $[-1, 2, -1]$ yang jumlahnya $0$
Hitunglah ada berapa subarray unyu pada array $A$
Constraint :
- $1 ≤ N ≤ 10^5$
</details>