Lại là Tổng 3 số nguyên


Submit solution

Points: 3 (partial)
Time limit: 1.0s
Memory limit: 244M

Author:
Problem type
Allowed languages
Ada, Assembly, Awk, C, C++, C11, CLANG, CLANGX, Classical, COBOL, Coffee, CSC, D lang, DART, F95, FORTH, Fortrn, GAS32, GO, Haskell, Itercal, Java, kotlin, LEAN, LISP, LUA, MONOVB, Nasm, OCAML, Pascal, Perl, php, PIKE, prolog, Pypy, Python, Ruby 2, RUST, Scala, SCM, SED, SWIFT, TCL, TUR, V8JS, VB, ZIG

Bạn được cho hai số nguyên \(N\) và \(S\). Nhiệm vụ của bạn là đếm số bộ ba \(X, Y, Z\) \((0 \le X, Y, Z \le N )\) thỏa mãn \(X + Y + Z = S\). Hãy viết chương trình để giải quyết vấn đề này nhé.

Input:

  • Dòng duy nhất gồm 2 số nguyên \(N,S ( 2 \le N \le 10^5, 0 \le S \le 3N )\)

Output:

  • Dòng duy nhất gồm một số chỉ số lượng các bộ ba \(X, Y, Z\) thỏa mãn.

Example:

Input:

2 2

Output:

6

Giải thích

\(6\) bộ ba \((X, Y, Z)\) thỏa mãn là:

- (0, 0, 2)
- (0, 2, 0)
- (2, 0, 0)
- (0, 1, 1)
- (1, 1, 0)
- (1, 0, 1)

Comments


  • 0
    NguyenHongSon_CNTT3_K62  commented on Oct. 26, 2022, 4:02 a.m.

    code tham khảo python3:

    n, s = map(int, input().split())
    a2, sum = min(n, s), 0
    a1 = max(s - 2 * n, 0)
    for i in range(a1, a2 + 1):
        b1, b2 = max(s - i - n, 0), 0
        if(s - i - n > 0):
            b2 = n
        else:
            b2 = s - i
        sum += b2 + 1 - b1
    print(sum)