Diff-Query (version 2)

hhoangcpascal

Cho dãy \(A\) gồm \(N\) phần tử là các số nguyên dương \(A_1, A_2, ..., A_N\). Cho \(Q\) thao tác, thao tác thứ \(i\) sẽ có một trong hai loại như sau:

  • \(1\) \(p_i\) \(x_i\): Thay giá trị ở vị trí \(p_i\) thành \(x_i\) (tức gán \(A_{p_i} = x_i\)).
  • \(2\) \(u_i\) \(v_i\): Đếm số phần tử phân biệt và tính tổng các giá trị phân biệt trong đoạn từ \(u_i\) tới \(v_i\).

Yêu cầu: Thực hiện tất cả \(Q\) thao tác, và in ra \(2\) kết quả của thao tác loại \(2\).

Input

Gồm \(Q+2\) dòng:

  • Dòng thứ nhất gồm hai số nguyên dương \(N, Q\).
  • Dòng thứ hai gồm \(N\) số nguyên dương \(A_1, A_2, ..., A_N\) \((A_i \leq 10^9)\).
  • \(Q\) dòng tiếp theo, với dòng thứ \(i\): số đầu tiên trên dòng là \(1\) hoặc \(2\). Số \(1\) theo sau bởi hai số nguyên dương \(p_i\), và \(x_i\) \((1 \leq p_i\leq N\), \(1 \leq x_i \leq 10^9)\). Số \(2\) theo sau bởi hai số nguyên dương \(u_i\)\(v_i\) \((1 \leq u_i \leq v_i \leq N)\).

Output

  • Với thao tác loại \(2\) có dạng \(2\) \(u\) \(v\), in ra \(2\) kết quả lần lượt là số phần tử phân biệt và tính tổng các giá trị phân biệt trong đoạn từ \(u\) tới \(v\).

Scoring

  • Subtask \(1\) (\(30\%\) số điểm): \(30\)% số điểm có \(N \leq 2.10^3\), \(Q \leq 2.10^3\).
  • Subtask \(2\) (\(30\%\) số điểm): \(N \leq 5.10^4\), \(Q \leq 5.10^4\), chỉ có các thao tác loại \(2\).
  • Subtask \(3\) (\(40\%\) số điểm): \(N \leq 5.10^4\), \(Q \leq 5.10^4\).

Example

Test 1

Input
 3 3
1 2 3
2 1 3
1 3 2
2 2 3 
Output
3 6
1 2
...Xem thêm

Dãy Con Tăng Dài Nhất

ami

ami có một dãy số nguyên dương \(A\) gồm \(n\) phần tử và một dãy số nguyên dương \(B\) gồm \(m\) phần tử. Ngoài ra, dãy \(A\) là một dãy không giảm (\(A_i \le A_{i+1}\) \(\forall\) \(1 \leq i < n\)). Trong một thao tác, các bạn có thể xoá một phần tử ở \(B\) và chèn nó vào một vị trí bất kì trong \(A\). Rõ ràng, các bạn không thể thực hiện thao tác trên quá \(m\) lần.

Hãy tìm cách thực hiện thao tác trên một cách tối ưu để \(A\) vẫn là một dãy tăng dần và độ dài của \(A\) là lớn nhất.

Input

  • Dòng đầu tiên chứa hai số nguyên dương \(n\)\(m\) lần lượt là số phần tử của dãy \(A\)\(B\).

  • Dòng tiếp theo chứa \(n\) số nguyên dương \(A_i\) biểu thị một phần tử của dãy \(A\).

  • Dòng cuối cùng chứa \(m\) số nguyên dương \(B_i\) biểu thị một phần tử của dãy \(B\).

Output

  • Hãy in ra độ dài lớn nhất của dãy \(A\) sau khi thực hiện thao tác một cách tối ưu.

Scoring

  • Trong toàn bộ dữ liệu có \(1 \leq a_i \leq 10^9\).

  • \(50\)% điểm tương ứng với \(1 \leq n, m \leq 10\).

  • \(50\)% điểm tương ứng với \(1 \leq n, m \leq 2*10^5\).

Example

Test 1

Input
3 2
1 2 3
1 4
Output
4
Note

Ở ví dụ 1, ta có thể chèn số 4 vào sau phần tử cuối cùng của \(A\) để nhận được dãy [1, 2, 3, 4]. Do đó kết quả là 4.

Test 2

Input
2 2
1 5
4 3
Output
4
Note

Ở ví dụ 2, ta có thể chèn số 4 vào giữa số 1 và 5 của dãy \(A\) để nhận được dãy [1, 4, 5]. Sau đó tiếp tục chèn số 3 vào giữa hai số 1 và 4 để nhận được dãy [1, 3, 4, 5]. Do đó kết quả là 4.

...Xem thêm

Điểm trung bình môn

PhanDinhKhoi , daicadihoc

Khôi vừa nhận được điểm học kỳ vừa rồi. \(3\) điểm Toán, Văn, Anh tương ứng với \(a,b,c\).

Hãy tính xem kỳ này Khôi được hạnh kiểm gì nhé!

Biết rằng điểm Toán, Văn thuộc hệ số \(2\).

Input

  • Gồm 3 dòng:
    • Dòng thứ nhất chứa số \(a\)
    • Dòng thứ hai chứa số \(b\)
    • Dòng thứ ba chứa số \(c\)

Output

  • Nếu điểm trung bình của Khôi \(\geq 8\) thì in ra "gioi", ngược lại nếu dtb của Khôi \(\geq 6.5\) thì in ra "kha banh", ngược lại nếu dtb của Khôi \(\geq 5.0\) thì in ra "trung binh", ngược lại in ra "yeu".

Constraints

  • \(0 \leq a,b,c \leq 10\)

Example

Test 1

Input
8.1
8.2
8.3 
Output
gioi
...Xem thêm

Tam giác (THT BC Vòng Tỉnh/TP 2022)

Small

Tam giác (Bài 2 bảng B, Bài 1 bảng C1)

Trên mặt phẳng tọa độ có \(n + 1\) điểm: điểm nguyên \(A(x,y\)) và \(n\) điểm nguyên nằm trên trục \(B_1(x_1,0),B_2(x_2,0), ...,B_n(x_n, 0)\).

Yêu cầu: Với số nguyên không âm \(S\), hãy đếm số lượng tam giác có diện tích lớn hơn \(s\) mà ba đỉnh của tam giác là ba điểm trong \(n + 1\) điểm đã cho.

Input

  • Dòng đầu tiên chứa hai số nguyên \(n\)\(S\) (\(2 \le n \leq 200000; 0 \le S \le 10^9\));
  • Dòng thứ hai chứa hai số nguyên dương \(x, y\ (x, y < 10^9)\);
  • Dòng thứ ba chứa \(n\) số nguyên dương \(x_l,x_2,... ,x_n (x_i \le 10^9)\).

Output

  • Ghi ra thiết bị ra chuẩn gồm một số nguyên là số lượng tam giác đếm được.

Scoring

  • Subtask \(1\) (\(25\%\) số điểm): \(n = 2\);
  • Subtask \(2\) (\(25\%\) số điểm): \(n \le 2000\);

Example

Test 1

Input
5 3
3 5
1 2 5 7 8 
Output
8
Note

...Xem thêm