ABC051_B - Tổng của 3 số nguyên

Xem dạng PDF

Gửi bài giải


Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Go, Java, Pascal, Perl, PHP, PyPy, Python, Ruby, Rust, Scratch, Swift

Bạn được cung cấp 2 số nguyên ~K~ và ~S~.

Ba biến ~X, Y~ và ~Z~ là các số nguyên thỏa mãn điều kiện ~0 \le X, Y, Z \le K~.

Hãy đếm xem có bao nhiêu cặp giá trị ~X, Y, Z~ trong phạm vi trên mà ~X + Y + Z = S~?

Input

  • Một dòng duy nhất gồm 2 số nguyên ~K~ và ~S~.

Giới hạn:

  • ~2 \le K \le 2500~
  • ~0 \le S \le 3K~

Output

  • Một số duy nhất thể hiện số lượng cặp giá trị ~X, Y, Z~ trong phạm vi thỏa mãn ~X + Y + Z = S~.

Sample

Input #1
2 2

Output #1
6
Input #2
5 15

Output #2
1

Hint

  • Trong #1, có 6 bộ giá trị ~X, Y~ và ~Z~ thỏa mãn:

    • X=0,Y=0,Z=2
    • X=0,Y=2,Z=0
    • X=2,Y=0,Z=0
    • X=0,Y=1,Z=1
    • X=1,Y=0,Z=1
    • X=1,Y=1,Z=0

Problem source: AtCoder Beginner Contest 051


Bình luận

Please read the guidelines before commenting.



  • 0
    kietjumper  đã bình luận lúc 22, Tháng 1, 2026, 3:03
    #include <bits/stdc++.h>
    using namespace std;
    
    int main()
    {
        int k, s;
        cin >> k >> s;
        int cnt = 0;
        for (int i = 0; i <= k; i++)
            {
            for (int j = 0; j <= k; j++)
            {
                int p = s - i - j;
                if (p >= 0 && p <= k) cnt++;
            }
        }
        cout << cnt << "\n";
        return 0;
    }
    
    

    Chỉ cần for 2 vòng, không cần 3 vòng để tìm số còn lại nhé


  • 1
    thaituandz345  đã bình luận lúc 20, Tháng 8, 2025, 2:04

    Bài này k<=2*1000 nên trâu cx dc nha mn