Submission #416820

#TimeUsernameProblemLanguageResultExecution timeMemory
416820zplizziStove (JOI18_stove)Cpython 3
0 / 100
16 ms2856 KiB
n, k = map(int, input().split())
times = []
for i in range(n):
    times.append(int(input()))
    
def solve(n, k, times):
    assert len(times) == n
    if n <= 1:
        return 0
    
    total_visit_duration = times[-1] + 1 - times[0]
        
    breaks = []
    for i in range(n-1):
        break_time = times[i+1] - (times[i] + 1)
        if break_time > 0:
            breaks.append(break_time)
            
    breaks = sorted(breaks, reverse=True)
    off_time = sum(breaks[:k-1])
    return total_visit_duration - off_time
  
print(solve(n, k, times))
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...