Điểm:
800 (p)
Thời gian:
1.0s
Bộ nhớ:
256M
Input:
bàn phím
Output:
màn hình
Nhập 2 số nguyên dương \(i, j\), in ra tổng các số nguyên dương từ \(i\) đến \(j\).
\(S = i + (i + 1) + (i + 2) + .... + j\)
\((1 \leq i \leq j \leq 10^{18})\)
Input
- Dòng 1 chứa số \(i\)
- Dòng 2 chứa số \(j\)
Output
- Chứa một số nguyên \(S\) là tổng của dãy số
Scoring
- Subtask \(1\) (\(80\%\) số điểm): \(j \leq 10^9\)**
Example
Test 1
Input
3
5
Output
12
Note
Giải thích: \(3 + 4 + 5 = 12\)
Bình luận
code tham khảo
n = int(input())
m = int(input())
S = (m - n + 1) * (n + m) // 2
print(S)
Bình luận bị ẩn vì nhiều phản hồi tiêu cực. Nhấp vào đây để mở.
Hint 1: \(1\) vòng \(for\) từ \(i\) đến \(j\). Tuy nhiên vì \(i \le j \le 10^{18}\) \(\rightarrow\) Sẽ bị TLE.
Hint 2: Sử dụng công thức \(\frac{(j + i) \times ((j - i) + 1)}{2}\). Tuy nhiên nếu chỉ khai báo
int
hoặclong long
thì sẽ bị \(\color{red}{\text{Wrong Answer}}\).Hint 3: Là sự kết hợp giữa Hint 2 và bignum. Các bạn có thể lấy code bignum ở đây
test sai hay sao vậy a