수영장
링크
풀이
1시간도 안걸렸다 신난다아
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <iostream>
#include <algorithm>
using namespace std;
int main(){
int arr[13]={0},dp[13]={0},ticket[4];
int T; cin >> T;
for(int t=1;t<=T;t++){
int val;
for(int i=0;i<4;i++)
cin >> ticket[i]; //정기권 금액
for(int i=1;i<=12;i++)
cin >> arr[i]; //출석 일수
for(int i=1;i<=12;i++){
val=arr[i];
dp[i]=min(val*ticket[0],ticket[1]);
if(i>2 && dp[i-1]+dp[i] >= dp[i-3]+ticket[2])//3개월권이 이득이면
dp[i]=dp[i-3]+ticket[2];
else
dp[i]+=dp[i-1];
}
dp[12]=min(ticket[3],dp[12]); //1년권이랑 비교
cout << "#"<<t<< " " <<dp[12]<<'\n';
}
}