포켓몬 거래
시간 제한0.3초메모리 제한4 MB
정해진 금액으로 어떤 날에 사서 더 뒤인 날에 팔아 이익이 최대가 되는 경우를 찾고, 소수 둘째 자리까지 반올림해 출력한다.
문제
짐은 포켓몬을 좋아해서 포켓몬이 나오는 게임을 모두 해 본다. 지금 하는 것은 포켓몬 거래 게임이다. 짐은 앞으로 일 동안의 포켓몬 가격을 미리 알고 있다. 종류와 상관없이 포켓몬 한 마리의 값은 그날의 가격 하나로 정해진다.
짐은 정해진 액수의 돈을 가지고 시작한다. 하루를 골라 그날 가진 돈을 남김없이 다 써서 포켓몬을 사고, 그보다 뒤의 하루를 골라 산 포켓몬을 전부 판다. 포켓몬은 소수 마리 단위로도 살 수 있다. 파는 날은 사는 날보다 반드시 뒤여야 한다.
짐이 얻을 수 있는 최대 이익을 구하라. 어떻게 사고팔아도 손해라면 손해가 가장 적은 값을 구한다.
입력
첫째 줄에 짐이 가진 돈이 주어진다.
둘째 줄에 날의 수 이 주어진다. ()
셋째 줄부터 개의 가격이 날짜 순서대로 공백으로 구분되어 주어진다.
가진 돈과 각 가격은 이하의 양의 실수이고, 소수점 아래 자릿수는 6자리를 넘지 않는다.
출력
첫째 줄에 최대 이익을 소수점 아래 둘째 자리까지 출력한다. 손해를 보는 경우에는 음수가 된다.
반올림은 0에서 먼 쪽으로 한다. 즉 는 0.01, 는 0.00, 는 -0.01, 는 -0.00이 된다. 이익이 보다 작은데 반올림한 값의 크기가 이면 -0.00을 출력한다.