BOJ 17521, Byte Coin

그리디, 구현

BOJ 17521, Byte Coin

이 문제는 그리디? 구현? 문제입니다. 19년 ACM 예선에 나왔던 문제입니다.

풀이

현재 시세보다 다음의 시세가 더 비싸다면 현재에 사서 다음에 바로 갖다 팔면 됩니다.

이것만 구현하시면 됩니다.

#include<iostream>
#include<stdio.h>
#include<cstring>
#include<string>
#include<algorithm>
using namespace std;
typedef long long ll;
ll n, money, coin, arr[17];
int main()
{
	scanf("%lld %lld", &n, &money);
	for(ll i=1;i<=n;i++)
		scanf("%d", &arr[i]);
	for (ll i = 1; i < n; i++)
		if (arr[i] < arr[i + 1])
			coin = money / arr[i], money += coin * (arr[i+1]-arr[i]);
	printf("%lld", money);
	return 0;
}

출처 : https://www.acmicpc.net/problem/17521