티스토리 뷰

수학문제다

가성비 좋아하는 사람을 맞출 수 있는 문제다 굿

 

우선 최소라는 말에 집중을 하자 

처음보면 세번째 예제가 왜 저가격이 나오는지 이해가 안될수있다

하지만 생각해보면 양념 후라이드 따로사는거보다

저기서는 반반치킨을 200000 사는게 이득이다

 

결국 X,Y개중에 적은개수만큼은 (양념,후라이드)개를 살지 (반반*2)개를 살지 정하고

남은 숫자들 중에서도 양념따로 후라이드 따로사는것과 반반*2로사는걸 비교해보면 된다!

 

소스코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <algorithm>
using namespace std;
#define ll long long
ll A,B,C,X,Y;
 
int main(){
    scanf(" %lld %lld %lld %lld %lld",&A,&B,&C,&X,&Y);
    ll first = min(X,Y);
    ll ans = min(A*(X-first) + B*(Y-first),C*2*max(X-first,Y-first));
    if(A+B>C*2) ans+=first*2*C;
    else ans+=A*first + B*first;
    printf("%lld\n",ans);
}
 
 

'알고리즘 > BOJ' 카테고리의 다른 글

[백준] 2590 색종이  (0) 2020.02.04
[백준] 1655 가운데를 말해요  (0) 2020.02.03
[백준] 16988 Baaaaaaaaaduk2 (Easy)  (0) 2020.02.02
[백준] 17071 숨바꼭질 5  (0) 2020.02.02
[백준] 17087 숨바꼭질 6  (0) 2020.02.02
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/04   »
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 27
28 29 30
글 보관함