Chọn Số

Xem dạng PDF

Gửi bài giải

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

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, PyPy, Python, Scratch

Cho bốn số nguyên a, b, c, d.

Hãy đếm xem có bao nhiêu số nguyên x thoả mãn hoặc a <= x <= b hoặc c <= x <= d.

Dữ liệu đầu vào:
Gồm 4 số nguyên a, b, c, d  trên cùng một dòng cách nhau một khoảng trắng (1 <= a, b, c, d <= 10^18)
Dữ liệu đầu ra:
Gồm duy nhất một số nguyên là số lượng giá trị x tìm được.
Ví dụ:
Input:
1 6 3 5
Ouput:
6
Tham khảo:

Các nộp trên 1 dòng scratch

https://oj.vnoi.info/scratch_guide/


Bình luận

Hãy đọc nội quy trước khi bình luận.



  • 1
    minhkhoi_py30  đã bình luận lúc 6, Tháng 12, 2025, 15:46

    Code:

    def num(a, b, c, d):
        len1 = max(0, b - a + 1) 
        len2 = max(0, d - c + 1)
        l = max(0, min(b, d) - max(a, c) + 1)
        kq = len1 + len2 - l
        return kq
    a, b, c, d = map(int, input().split())
    print(num(a, b, c, d))
    

  • 1
    Tuan1234  đã bình luận lúc 22, Tháng 7, 2025, 5:08

    Use it only you're stuck:

    a, b, c, d = map(int, input().split())

    cab = b - a + 1

    cd = d - c + 1

    st = max(a, c)

    ed = min(b, d)

    op = 0

    if st <= ed : op = ed - st + 1

    t =cab + cd - op

    print(t)


  • -3
    thaonhipy29  đã bình luận lúc 13, Tháng 7, 2025, 5:15

    code:

    a, b, c, d = map(int, input().split())

    len1 = max(0, b - a + 1) len2 = max(0, d - c + 1)

    intersect = max(0, min(b, d) - max(a, c) + 1)

    print(len1 + len2 - intersect)


  • -4
    hohaidang  đã bình luận lúc 11, Tháng 7, 2025, 3:03

    Đọc 4 số nguyên a, b, c, d từ input

    a, b, c, d = map(int, input().split())

    Tính điểm bắt đầu và kết thúc của đoạn giao nhau (nếu có)

    startoverlap = max(a, c) endoverlap = min(b, d)

    Tính độ dài hai đoạn [a,b] và [c,d]

    length1 = b - a + 1 length2 = d - c + 1

    Tính độ dài đoạn giao nhau (nếu startoverlap <= endoverlap)

    overlaplength = endoverlap - startoverlap + 1 if startoverlap <= end_overlap else 0

    Kết quả là tổng độ dài 2 đoạn trừ đi phần giao nhau để không đếm trùng

    result = length1 + length2 - overlap_length

    In kết quả

    print(result)


  • -1
    phuquy  đã bình luận lúc 12, Tháng 6, 2025, 0:25

    a,b,c,d=map(int,input().split()) x=max(a,c) y=min(b,d) print((b-a+1)+(d-c+1)-(y-x+1 if x<=y else 0))