# Hue ICTC 22
## Bài 3
### Tóm tắt
Số yêu thích = (+/-) Số chính phương
Cho trước $k$.
Tìm tất cả $A$ mà $A$ và $A+k$ đều là số yêu thích.
### Tiếp cận
Xét $a,b$ dương thì số $k$ có thể rơi vào các TH sau:
1) $a^2 + k = b^2$
Tức $k = b^2 - a^2 = (b-a)(b+a)$ (với $a < b$)
2) $-a^2 + k = b^2$
Tức $k = b^2 + a^2$
3) $-a^2 + k = -b^2$
Nên $k = a^2 - b^2$, nhận thấy giống trường hợp 1
Ngoài ra ta đã loại đi $a^2 +k = -b^2$ (vì chênh lệch $k > 0$ nên không thể từ số dương -> số âm)
#### Ví dụ
$7 = (b-a)(b+a) = 1 \times 7$
Giả ra được $b = 4, a = 3$. Một bộ nhưng cho ra hai đáp án:
- $9 + 7 = 16$
- $-16 + 7 = -9$
### Sol
Chạy for tới căn. Kết quả lưu trong `vector` hoặc `set`. Sau đó loại ra phần tử trùng (nếu cần).
## Bài 4
Từ đề, rút ra được:
"Cần đi tìm hai vị trí $i,j (i \neq j)$ để tổng $a_i + b_j$ là lớn nhất"
Giới hạn bé: $l,r \le 9$
### Trâu
Được 40%, ngon
### Full
Cần tìm $\max b$ tại mọi vị trí khác $i$
#### Hướng 1
Dùng `multiset` để thêm và xóa liên tục

#### Hướng 1.5
Xóa/ thêm bằng đếm phân phối

#### Hướng 2
Áp dụng prefix-sum để tính min

## Bài 5
Đặt $f(i)$ là số cách để đi được khoảng cách $i$.
Khởi tạo $f(0) = 1$ và $f(x) = 0 \forall x < 0$
Công thức $f(i) = f(i-1) + f(i-2) + f(i-3)$