알고리즘 문제
[백준] 2979번 트럭 주차
feelcoding
2020. 2. 11. 20:05
728x90
https://www.acmicpc.net/problem/2979
2979번: 트럭 주차
문제 상근이는 트럭을 총 세 대 가지고 있다. 오늘은 트럭을 주차하는데 비용이 얼마나 필요한지 알아보려고 한다. 상근이가 이용하는 주차장은 주차하는 트럭의 수에 따라서 주차 요금을 할인해 준다. 트럭을 한 대 주차할 때는 1분에 한 대당 A원을 내야 한다. 두 대를 주차할 때는 1분에 한 대당 B원, 세 대를 주차할 때는 1분에 한 대당 C원을 내야 한다. A, B, C가 주어지고, 상근이의 트럭이 주차장에 주차된 시간이 주어졌을 때, 주차 요금으로 얼마
www.acmicpc.net
#include <iostream>
#include <vector>
#include <queue>
#include <string>
#include <algorithm>
using namespace std;
int main() {
int fee[3];
for (int i = 0; i < 3; i++) {
cin >> fee[i];
}
int arriveTime[3];
int leaveTime[3];
vector<pair<int, int>> time;
for (int i = 0; i < 3; i++) {
cin >> arriveTime[i];
cin >> leaveTime[i];
time.push_back(make_pair(arriveTime[i], 1));
time.push_back(make_pair(leaveTime[i], -1));
}
sort(time.begin(), time.end());
int count = 1;
int totalFee = 0;
int previousTime = time[0].first;
for (int i = 1; i < 6; i++) {
int feePerHour = fee[count - 1];
int now = time[i].first;
totalFee += ((now - previousTime) * feePerHour * count);
count += time[i].second;
previousTime = time[i].first;
}
cout << totalFee;
return 0;
}
어제도 그래놓고는.. 오늘도 다짐한다. 문제를 똑바로 읽자.
트럭 1대면 A원, 2대면 B원, 3대면 C원인 줄 알았는데 한 대당 A원, B원, C원이었다.
728x90