만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

장보기 탐욕

시간 제한2초메모리 제한1024 MB

요약
상품 가격이 주어질 때, 묶음마다 카드(정확한 금액)나 현금(0.05유로 단위로 반올림) 중 하나로 계산하도록 나눌 때 최소 총액을 구합니다.
난이도

보통10점 중 6점

유형
수학, 그리디
정답자
아직 제출이 없습니다

문제

최근 당신은 자기계발 분야의 최신작 "프로 소비자가 되는 법"을 구했습니다. 이 책에는 가능한 한 많이 사고 가능한 한 적게 지불하는 여러 가지 요령이 담겨 있습니다. 책을 읽다 보니 평생 식료품을 너무 비싸게 사 왔다는 사실을 알게 되었습니다.

방식은 다음과 같습니다. 슈퍼마켓에서는 카드 또는 현금으로 결제할 수 있습니다. 현금으로 결제하면 지불할 금액이 €0.05의 배수 중 가장 가까운 값으로 반올림됩니다. 카드로 결제하면 반올림하지 않습니다. 그래서 식료품 구성에 따라 알맞은 결제 방법을 고르면 더 저렴해질 수 있습니다. 식료품을 여러 묶음으로 나누고 묶음마다 따로 계산하면 지출을 더 줄일 수 있습니다.

살 품목은 이미 정했고 각 가격도 알고 있습니다. 이 식료품을 모두 가장 싸게 사는 방법은 무엇입니까?

입력

첫째 줄에 구매하려는 물건의 개수 nn (1≤n≤2⋅1051 \leq n \leq 2 \cdot 10^5)이 주어집니다.

둘째 줄에는 nn개의 실수 pp (0.05≤p≤100.000.05 \leq p \leq 100.00)가 주어집니다. 각 값은 유로 단위의 가격이며, 소수점 아래 정확히 두 자리로 표시됩니다. 여기서 소수 표기란 과학적 표기법을 쓰지 않은 실수 표기를 뜻합니다.

출력

모든 식료품을 사는 데 필요한 최소 총액을 유로 단위로 출력합니다. 답은 소수점 아래 정확히 두 자리로 출력해야 합니다.

예제5

  1. 예제 1

    입력
    3
    0.59 5.21 3.10
    
    예상 출력
    8.89
    
  2. 예제 2

    입력
    5
    20.43 1.11 6.47 19.99 3.75
    
    예상 출력
    51.70
    
  3. 예제 3

    입력
    2
    0.05 0.14
    
    예상 출력
    0.19
    
  4. 예제 4

    입력
    4
    1.00 3.00 5.00 2.00
    
    예상 출력
    11.00
    
  5. 예제 5

    입력
    3
    68.79 61.18 0.58
    
    예상 출력
    130.53