Cộng trừ

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 100

Bạn được cho 3 số nguyên ~a, b ,c~. Hãy xác định xem ~c~ là tổng hay hiệu của ~a~ và ~b~

Input:

  • Là 3 số nguyên ~{a,b,c} (1 \leq {|a,b,c|} \leq 10^{18} )~

Output:

  • Hãy in ra + nếu ~c~ là tổng của ~a~ và ~b~, in ra - nếu ~c~ là hiệu của ~a~ và ~b~ ( Dữ liệu đầu vào đảm bảo có đầu ra)

Sample Input 1

5 6 -1

Sample Output 1

-

Sample Input 2

5 6 11

Sample Output 2

+

Chia độ khó

Độ khó Điều kiện
Dễ (40% tổng số điểm) ~1 \leq {\lvert a,b,c \rvert} \leq 10^{6}~
Trung bình (30% tổng số điểm) ~1 \leq {\lvert a,b,c \rvert} \leq 10^{9}~
Khó (30% tổng số điểm) ~1 \leq {\lvert a,b,c \rvert} \leq 10^{18}~

Time limit: 1.0 / Memory limit: 1G

Point: 100

Trong game LOL, Yasuo đang phải đi kèo với Renekton, 1 con tướng kèo trên rõ ràng với em nhà Y. Trước mặt em nhà Y là một đàn lính có ~n~ con, anh ta phải diệt chúng để lấy tiền mua đồ đánh lại con cá sấu Renekton này, con lính thứ ~i~ cho ~a[i]~ tiền. Tại lúc này, đối với sức mạnh con cá sấu cần ít nhất k tiền mua đồ để có thể ăn lại. Bạn hãy giúp Yasuo ăn ít con lính nhất có thể để có tiền mua đồ, nếu không đủ tiền thì hãy thông báo ~15GG~

Input:

  • Dòng đầu tiên của input chứa số nguyên ~n~ (~1 \leq n \leq 10^6~) và số nguyên ~k~ (~1 \leq k \leq 10^{12}~)

  • Dòng tiếp theo chứa n số nguyên ~a[i]~ ~(1 \leq i \leq n , 1\leq a[i] \leq 10^6)~

Output:

  • Hãy in ra số lính cần ít ăn nhất có thể, nếu không thể đánh bại cá sấu hãy in ra 15GG

Sample Input 1

5 100
5 10 90 100 1

Sample Output 1

1

Chia độ khó

Độ khó Điều kiện
Dễ (40% tổng số điểm) ~1 \leq n \leq 100~ và ~1 \leq k \leq 10^{6}~
Trung bình (30% tổng số điểm) ~1 \leq n \leq 1000~ và ~1 \leq k \leq 10^{9}~
Khó (30% tổng số điểm) ~1 \leq n \leq 10^6~ và ~1 \leq k \leq 10^{12}~

Nhảy xa

Nộp bài
Time limit: 1.0 / Memory limit: 1G

Point: 100

Thể dục thể thao, nâng cao sức khỏe. FPT Software Academy đang tổ chức cuộc thi nhảy xa để tìm ra nhà vô địch cho mùa giải mới. Tuy nhiên, luật chơi không chỉ yêu cầu sức khỏe mà còn yêu cầu một cái đầu có tư duy thuật toán thật là tốt. Là một thành viên của phòng marketing nhưng vẫn muốn giành chiến thắng trong giải đấu này, chị Thơ Nguyễn nhờ Đậu - Một thành viên mẫn cán của CLB TAS nghĩ lời giải cho cuộc thi.

Suy nghĩ mãi mà Đậu vẫn chưa tìm ra được chiến lược tối ưu. Các bạn cùng nghĩ với Đậu để giải quyết bài toán học búa này của nhà FSoft Academy nhé.

Luật chơi như sau:

Có ~N~ cột mốc, được đánh số từ 1 đến ~N~. Với mỗi chỉ số ~i~, độ cao của cột mốc thứ ~i~ là ~h_i~.

Đậu xuất phát từ cột mốc thứ nhất. Biết rằng, nếu Đậu đang đứng ở cột mốc thứ ~i~, cậu ta có thể nhảy đến được các cột mốc thứ ~i + 1, i + 2, ..., i + K~. Mỗi lần nhảy, Đậu sẽ tốn số năng lượng là ~|h_i - h_j|~, với ~j~ là cột mốc mà cậu ta muốn nhảy đến.

Các bạn hãy giúp Đậu tìm ra số năng lượng tiêu tốn tối thiểu để nhảy từ cột mốc đầu tiên đến cột mốc thứ ~N~.

Input

  • Dòng đầu tiên là 2 số nguyên dương ~N~ và ~K~, lần lượt là số cột mốc và giới hạn nhảy của Đậu. ~(2 \leq N \leq 10^6, 1 \leq K \leq 100)~
  • Dòng thứ hai gồm ~N~ số nguyên ~h_i~, là độ cao của cột mốc thứ ~i~. ~(1 \leq i \leq N, 1 \leq h_i \leq 10^{8})~

Output

  • Gồm một số nguyên, là năng lượng ít nhất để nhảy từ cột mốc đầu tiên đến cột mốc thứ ~N~.

Chia độ khó

Độ khó Điều kiện
Dễ (50% tổng số điểm) ~1 \leq N \leq 10^5, 1 \leq h_i \leq 10^4~
Trung bình (50% tổng số điểm) ~1 \leq N \leq 10^6, 1 \leq h_i \leq 10^8~
Sample input 1
2 1
10 10
Sample output 1
0
Sample input 2
3 1
10 30 10
Sample output 2
40 
Sample input 3
5 3
10 30 40 50 20
Sample output 3
30

Notes

  • Ở ví dụ thứ nhất, bước nhảy tối ưu là ~1 \to 2~. Năng lượng tiêu tốn sẽ là ~|10 - 10| = 0~
  • Ở ví dụ thứ hai, bước nhảy tối ưu là ~1 \to 2 \to 3~. Năng lượng tiêu tốn sẽ là ~|10 - 30| + |30 - 10| = 40~
  • Ở ví dụ thứ ba, bước nhảy tối ưu là ~1 \to 2 \to 5~. Năng lượng tiêu tốn sẽ là ~|10 - 30| + |30 - 20| = 30~

Tính tổng đoạn con

Nộp bài
Time limit: 1.0 / Memory limit: 256M

Point: 100

Bạn được cho một mảng gồm có n số nguyên dương ~a_1, a_2, a_3,…, a_n~ và ~Q~ truy vấn. Có 2 loại truy vấn như sau:

  • Loại truy vấn thứ nhất: Thay thế giá trị thứ ~x~ trong mảng thành ~val~, tức là ~a[x]=val~

  • Loại truy vấn thứ hai: In ra tổng trong đoạn từ ~a[l]~ tới ~a[r]~ ~( 1<=l<=r<=n)~

Input:

  • Dòng đầu tiên của input chứa số nguyên ~n (1 \leq n \leq 10^5)~ và số nguyên ~q(1 \leq q \leq 10^5)~

  • Dòng tiếp theo chứa n số nguyên ~a[i] (1 \leq i \leq n , 1\leq a[i] \leq 10^6)~

  • Các dòng tiếp theo là các Q truy vấn theo 2 dạng:

  • 1 x val: tương ứng với loại truy vấn thứ nhất

  • 2 l r: tương ứng với loại truy vấn thứ hai

Output:

  • Hãy in ra kết quả khi thực hiện các truy vấn loại 2, mỗi kết quả trên một dòng

Sample Input 1

5 4
5 10 90 100 1
2 1 3
1 2 2
2 1 4
2 3 5

Sample Output 1

105
197
191

Chia độ khó

Độ khó Điều kiện
Dễ (40% tổng số điểm) ~1 \leq n \leq 100~ và ~1 \leq q \leq 100~
Trung bình (30% tổng số điểm) ~1 \leq n \leq 1000~ và ~1 \leq q \leq 1000~
Khó (30% tổng số điểm) ~1 \leq n \leq 10^5~ và ~1 \leq q \leq 10^5~

Tính biểu thức

Nộp bài
Time limit: 1.0 / Memory limit: 977M

Point: 100

FPT đang có một cuộc thi xem ai có khả năng tính biểu thức nhanh hơn, mọi người tham gia đều được phép sử dụng các công cụ để tính nhanh nhất có thể. Hiếu là người mới trong lĩnh vực lập trình, anh ấy muốn nhờ bạn để code ra một bài tính giá trị biểu thức đã nhập vào. Bạn hãy giúp Hiếu code bài này nhé, biểu thức này chứa các dấu ngoặc ( ) và dấu +, -, *. Dữ liệu đầu ra đảm bảo kết quả không quá 10^18 và là số nguyên dương.

Input:

  • Một dòng duy nhất chứa biểu thức

Output:

  • Hãy in ra kết quả khi thực hiện biểu thức đã cho

Lưu ý

Bài này không cho phép sử dụng hàm eval của các ngôn ngữ. Thí sinh sử dụng hàm này sẽ bị tính 0 điểm.

Sample Input 1

5*100

Sample Output 1

500

Sample Input 2

5*100+30

Sample Output 2

530

Sample Input 3

2*(2+1)

Sample Output 3

6