1 -> 80, 2 -> 80+, 3 -> 100 能告诉我为啥,前两个没过吗。。。

1. 
import sys

n = int(sys.stdin.readline().strip())
clock_times = []
for _ in range(n):
    clock_times.append(list(map(int, sys.stdin.readline().strip().split())))
walk_minutes = int(sys.stdin.readline().strip())
class_time = list(map(int,sys.stdin.readline().strip().split()))

def get_minutes_from_time(time):
    return time[0] * 60 + time[1]

def get_time_from_minutes(minuts):
    time = []
    time.append(minuts // 60)
    time.append(minuts % 60)
    return time

def solution(n, clock_times, walk_minutes, class_time):
    clock_minutes = []
    class_minute = get_minutes_from_time(class_time)
    for clock_time in clock_times:
        clock_minutes.append(get_minutes_from_time(clock_time))
    clock_minutes.sort(reverse=True)
    for clock_minute in clock_minutes:
        total_minute = clock_minute + walk_minutes
        if total_minute <= class_minute:
            return get_time_from_minutes(clock_minute)

if __name__ == "__main__":
    result = solution(n, clock_times, walk_minutes, class_time)
    print(result[0], result[1], sep=" ")


2.
import sys

n, k = list(map(int, sys.stdin.readline().strip().split()))
message_encoded = sys.stdin.readline().strip()

def solution(n, k, message_encoded):
    if n == 0 or k == 0:
        return ""
    if k == 1:
        return  message_encoded
    message_encoded = list(message_encoded)
    message_encoded = list(map(int, message_encoded))
    a_n = []
    for i in range(n):
        if i == 0:
            a_n.append(int(message_encoded[0]))
            continue
        if i < k:
            a_n.append(message_encoded[i] ^ message_encoded[i - 1])
            continue
        else:
            a_n.append(message_encoded[i] ^ message_encoded[i - 1] ^ a_n[i - k])
    return "".join(list(map(str, a_n)))

if __name__ == "__main__":
    print(solution(n, k, message_encoded))


3.
import sys

n = int(sys.stdin.readline().strip())

ages = list(map(int, sys.stdin.readline().strip().split()))

def solution(n, ages):
    if n == 0:
        return 0
    if n == 1:
        return 100
    bonus = []
    for i in range(n):
        bonus.append(100)
    for i in range(n - 1):
        if ages[i + 1] > ages[i]:
            bonus[i + 1] = max(bonus[i + 1], bonus[i] + 100)
    for i in range(n - 1, 0, -1):
        if ages[i - 1] > ages[i]:
            bonus[i - 1] = max(bonus[i - 1], bonus[i] + 100)
    return sum(bonus)
if __name__ == "__main__":
    print(solution(n, ages))