만드는 중입니다

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

감자 가게 두 곳

시간 제한1초메모리 제한64 MB

요약
감자 자루 N개를 한 가게가 정확히 L개를 담도록 두 가게에 나누고 두 평균 단가의 곱을 가장 작게 만듭니다.
난이도

보통10점 중 6점

유형
동적 계획법
정답자
아직 제출이 없습니다

문제

감자를 파는 가게를 두 곳 연다. 감자는 농부 NN명에게서 사 온다. 농부 ii는 감자 aia_i개가 든 자루 하나를 값 cic_i에 판다. 자루는 모두 사들이고, 각 자루를 통째로 두 가게 중 한 곳에 넣는다.

첫 번째 가게의 감자 평균 가격을 P1P_1, 두 번째 가게의 감자 평균 가격을 P2P_2라고 하자. 한 가게의 감자 평균 가격은 그 가게에 있는 자루 값의 합을 그 가게에 있는 감자 개수의 합으로 나눈 값이다. 물류 사정과 재고를 고려해 P1P_1과 P2P_2의 곱을 가장 작게 만들려고 한다.

자루를 나눈 결과에서 두 가게 중 적어도 한 곳에는 자루가 정확히 LL개 있어야 한다.

입력

첫째 줄에 자루의 개수 NN과, 두 가게 중 적어도 한 곳에 들어가야 하는 자루의 개수 LL이 주어진다. (2≤N≤1002 \le N \le 100, 1≤L<N1 \le L < N)

둘째 줄에 NN개의 정수 aia_i가 공백으로 구분되어 주어진다. (1≤ai≤1001 \le a_i \le 100)

셋째 줄에 NN개의 정수 cic_i가 공백으로 구분되어 주어진다. (1≤ci≤1 000 0001 \le c_i \le 1\,000\,000)

aia_i의 합은 500 이하이다.

출력

P1P_1과 P2P_2의 곱의 최솟값을 소수점 아래 셋째 자리까지 한 줄에 출력한다. 소수점 아래 넷째 자리에서 반올림하고, 모자라는 자리는 0으로 채워 소수점 아래를 항상 세 자리로 출력한다.

예제4

  1. 예제 1

    입력
    3 1
    3 2 1
    1 2 3
    
    예상 출력
    0.556
    
  2. 예제 2

    입력
    3 2
    2 2 2
    3 3 3
    
    예상 출력
    2.250
    
  3. 예제 3

    입력
    2 1
    1 1
    1 1
    
    예상 출력
    1.000
    
  4. 예제 4

    입력
    2 1
    1 100
    1000000 1
    
    예상 출력
    10000.000