※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※
이번에 볼 문제는 백준 1392번 문제인 노래 악보이다.
문제는 아래 링크를 확인하자.
https://www.acmicpc.net/problem/1392
1392번: 노래 악보
첫 줄에는 악보 수 N(1 ≤ N ≤ 100)과 질문의 개수 Q(1 ≤ Q ≤ 1,000)가 주어진다. 다음 N개의 줄에는 1번 악보부터 N번 악보까지 각 악보가 차지하는 시간(초)이 한 줄에 하나씩 주어진다. 각 악보가
www.acmicpc.net
주어진 악보들을 이용해, 각 시각 t에 어떤 노래를 부르고 있는지를 나타내는 정수 배열 arr을 미리 작성해 문제를 해결할 수 있다. 위의 성질을 갖는 정수 배열 arr은 반복문을 이용해 아래와 같이 얻을 수 있다.
아래는 제출한 소스코드이다.
#include <iostream>
using namespace std;
int arr[10000];
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
int N, Q; cin >> N >> Q;
int T = 0;
for (int i = 1; i <= N; i++) {
int x; cin >> x;
while (x--) {
arr[T++] = i;
}
}
while (Q--) {
int x; cin >> x;
cout << arr[x] << '\n';
}
}
728x90
'BOJ' 카테고리의 다른 글
[BOJ 2292 // C++] 벌집 (0) | 2023.02.12 |
---|---|
[BOJ 27481 // C++] Hotelier (0) | 2023.02.12 |
[BOJ 2839 // C++] 설탕 배달 (0) | 2023.02.10 |
[BOJ 1894 // C++] 4번째 점 (0) | 2023.02.10 |
[BOJ 26099 // C++] 설탕 배달 2 (0) | 2023.02.10 |