※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※
이번에 볼 문제는 백준 3279번 문제인 DOLLARS이다.
문제는 아래 링크를 확인하자.
https://www.acmicpc.net/problem/3279
3279번: DOLLARS
Dave somehow acquired exchange rates of US dollar to German marks for several days in the future. Write a program that will suggest Dave when to buy or sell marks or dollars so that, starting with 100 dollars he ends up with the highest possible amount of
www.acmicpc.net
소지한 달러를 A환율로 마르크로 바꾼 뒤 B환율로 다시 달러로 바꾸면 소지한 달러는 A/B배로 증가한다.
매 연속한 두 날 사이의 환율을 보며 위와 같은 환전으로 이득을 볼 수 있을 때마다(즉 A/B>1일 때마다) 환전을 반복하는 것으로 문제를 해결하자.
아래는 제출한 소스코드이다.
#include <iostream>
using namespace std;
typedef long double ld;
ld ans = 100;
ld prv = 0;
int N;
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
cout << fixed;
cout.precision(2);
cin >> N;
while (N--) {
ld cur; cin >> cur;
if (prv > cur) ans *= (prv / cur);
prv = cur;
}
cout << ans;
}
728x90
'BOJ' 카테고리의 다른 글
[BOJ 2082 // C++] 시계 (0) | 2023.08.28 |
---|---|
[BOJ 2079 // C++] 팰린드롬 (1) | 2023.08.27 |
[BOJ 3284 // C++] MASS (0) | 2023.08.25 |
[BOJ 3283 // C++] BARCODE (0) | 2023.08.24 |
[BOJ 1799 // C++] 비숍 (0) | 2023.08.23 |