※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※
이번에 볼 문제는 백준 23814번 문제인 아 저는 볶음밥이요이다.
문제는 아래 링크를 확인하자.
https://www.acmicpc.net/problem/23814
짜장면을 추가로 더 시켜 군만두를 하나 추가로 얻기 위해 더 주문해야 하는 양을
따라서, 짜장면과 짬뽕, 짜장면만, 짬뽕만, 둘 다 추가주문하지 않는 네 가지 경우에 대하여 군만두를 최대로 얻는 경우가 무엇인지 살펴 그 때의 볶음밥 주문량의 최댓값을 구해 문제를 해결하자.
아래는 제출한 소스코드이다.
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
typedef long long ll;
ll D, N, M, K;
vector<pair<ll, ll>> P;
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
cin >> D >> N >> M >> K;
N %= D, M %= D;
N = D - N, M = D - M;
P.emplace_back(make_pair(K / D, K));
P.emplace_back(make_pair((K - N) / D + 1, K - N));
P.emplace_back(make_pair((K - M) / D + 1, K - M));
P.emplace_back(make_pair((K - N - M) / D + 2, K - N - M));
sort(P.begin(), P.end());
while (P.back().second < 0) P.pop_back();
cout << P.back().second;
}
728x90
'BOJ' 카테고리의 다른 글
[BOJ 7146 // C++] 데이터 만들기 7 (0) | 2024.05.27 |
---|---|
[BOJ 24229 // C++] 모두싸인 출근길 (0) | 2024.05.26 |
[BOJ 16493 // C++] 최대 페이지 수 (0) | 2024.05.24 |
[BOJ 31867 // C++] 홀짝홀짝 (0) | 2024.05.23 |
[BOJ 31866 // C++] 손가락 게임 (0) | 2024.05.22 |