Tổng từ i -> j

Xem PDF

Đ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


  • 15
    dang7rickroll    8:03 a.m. 2 Tháng 11, 2021

    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ặc long 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


    • 3
      phucnguyen2012    6:51 p.m. 9 Tháng 6, 2024

      Python sử dụng hint 2 auto ac

      Hint 2 dễ hiểu hơn

      ((i + j) * ((j-i)+1))//2


      • 3
        happydkiwi    10:33 a.m. 15 Tháng 9, 2024

        cảm ơn bạn nha. mình ac rồi


      • -2
        iq2000laday    4:02 p.m. 20 Tháng 6, 2024

        Ủa sao tôi cũng làm thế mà bị WA, chắc do số lớn quá bị sai số hả


        • 1
          phucnguyen2012    8:10 p.m. 20 Tháng 6, 2024

          Mình vẫn ac bình thường mà cho mình xem code WA của bạn đi


          • -1
            iq2000laday    11:32 a.m. 21 Tháng 6, 2024

            À tôi mới AC rồi nha cảm ơn ông nhiều =)


    • 3
      PhanHuyKhang    3:22 p.m. 27 Tháng 1, 2022

      Hint 4: Sử dụng __int128 thay cho bignum


      • 3
        duchuyvp123    7:56 p.m. 11 Tháng 12, 2021

        python 1 đấm ăn luôn

        2 bình luận nữa