#문제 간단 정리
#문제 해결 방법
우선순위 큐를 써도 되지만
n이 작기때문에
나이브하게 그냥 구현해도 돌아간다
#전체 코드
#include <iostream>
#include <vector>
#include <queue>
using namespace std;
int main() {
int n, c;
cin >> n >> c;
vector<int> times(c);
for (int i = 0; i < c; i++) {
cin >> times[i];
}
vector<int> cashier(n, 0); // 각 계산대의 남은 시간
vector<int> ans(c); // 각 고객이 배정된 계산대 번호를 저장
for (int i = 0; i < c; i++) {
// 가장 빨리 비는 계산대를 찾기
int min_time = cashier[0];
int min_index = 0;
for (int j = 1; j < n; j++) {
if (cashier[j] < min_time) {
min_time = cashier[j];
min_index = j;
}
}
// 고객을 가장 빨리 비는 계산대에 배치
ans[i] = min_index + 1;
cashier[min_index] += times[i]; // 해당 계산대의 남은 시간 갱신
}
// 결과 출력
for (int a : ans) {
cout << a << " ";
}
return 0;
}
'[백준] > C++' 카테고리의 다른 글
백준 2589번 보물섬 [C++] (0) | 2024.09.05 |
---|---|
백준 25601번 자바의 형변환 [C++] (0) | 2024.08.30 |
백준 30617번 Knob [C++] (0) | 2024.08.26 |
백준 17464번 가주아 [C++] (0) | 2024.08.26 |
백준 18243번 Small World Network [C++] (0) | 2024.08.26 |