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
Bình luận
Code:
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)
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)
Đọ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)
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))