Koala - 13기/코딩테스트 준비 스터디
[백준 / Python] #17390 이건 꼭 풀어야 해!
dudcks
2024. 2. 4. 14:05
문제
https://www.acmicpc.net/problem/17390
17390번: 이건 꼭 풀어야 해!
[2, 5, 1, 2, 3]을 비내림차순으로 정렬하면 [1, 2, 2, 3, 5]이다.
www.acmicpc.net

Algorithm
수열을 비내림차순으로 정렬 후에 문제에서 주어지는 구간의 합을 출력하면 되는 문제이다.
구간의 합을 출력하면 되므로 누적합을 사용하였고, 비내림차순으로 정렬하기위해 .sort()함수를 사용하였다.
누적합을 사용할 수 있으면 쉽게 풀리는 문제였던것 같다.
Code
input = __import__('sys').stdin.readline
n,q = map(int,input().split())
arr = list(map(int,input().split()))
arr.sort()
prefix = [0]*(n+1)
for i in range(1,n+1):
prefix[i] = prefix[i-1] + arr[i-1]
for _ in range(q):
l,r = map(int,input().split())
print(prefix[r]-prefix[l-1])