아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

모의 대회 광고

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

요약
6가지 광고 유형 중 일부를 선택한 뒤, 경매 순서대로 예산 K 안에서 해당 유형의 광고를 살 때 최대로 살 수 있는 개수를 구한다.
난이도

보통10점 중 7점

유형
완전 탐색, 그리디, 누적 합, 구현
정답자
아직 제출이 없습니다

문제

MOLOCO는 고성능 광고 플랫폼으로 광고주와 잠재 사용자를 연결하는 회사이다.

앱에 광고를 넣을 공간이 생기면, 앱은 어떤 광고를 보여줄지 결정하기 위해 AdExchange 플랫폼에 요청한다. 그러면 AdExchange는 경매를 열고, MOLOCO 같은 입찰자들이 자기 광고를 보여줄 기회를 두고 입찰한다.

RUN은 2020 ICPC 모의 대회를 광고하려고 한다. RUN은 MOLOCO에 광고를 의뢰했다. RUN은 총 KK달러를 가지고 있고, KAIST 구성원이 쓰는 내부 앱에 광고를 보여주려고 한다. 그 앱의 광고는 여섯 가지 유형 중 하나이며, 입찰 가격은 광고 유형에만 따라 결정된다. 그 광고에 가장 먼저 입찰한 입찰자가 자기 광고를 보여줄 수 있다.

AdExchange는 여섯 광고 유형의 비용과 오늘 진행할 NN번의 경매를 이미 정해 두었다. ii번째 경매에서 AdExchange는 cic_i 유형의 광고를 두고 경매를 연다. AdExchange는 두 경매를 동시에 열지 않으며, 더 구체적으로 ii번째 경매가 끝나기 전에는 i+1i+1번째 경매를 시작할 수 없다.

MOLOCO는 다음과 같은 전략으로 경매에 참여한다. 경매가 시작되기 전에 RUN이 광고 유형 집합을 고른다. ii번째 경매에서 그 경매의 광고 유형이 RUN이 고른 집합에 속하고 RUN이 그 유형의 광고에 입찰할 만큼 돈이 있으면, MOLOCO는 입찰한다. 그렇지 않으면 그냥 넘어간다.

MOLOCO는 입찰이 매우 빨라서, 입찰하면 항상 가장 먼저 입찰한 입찰자가 된다. RUN이 광고 유형 집합을 최적으로 고를 때 MOLOCO가 입찰할 수 있는 광고 수의 최댓값을 구하시오.

입력

첫 번째 줄에 공백으로 구분된 두 정수 NN, KK가 주어진다. (1≤N≤100 000,0≤K≤1091 \le N \le 100\,000, 0 \le K \le 10^9)

다음 줄에 6개의 정수 b1,b2,…,b6b_1, b_2, \ldots, b_6이 주어진다. bib_i는 광고 유형 ii의 비용이다. (1≤bi≤1091 \le b_i \le 10^9)

다음 줄에 NN개의 정수 c1,c2,…,cNc_1, c_2, \ldots, c_N이 주어진다. cic_i는 ii번째 경매의 광고 유형이다. (1≤ci≤61 \le c_i \le 6)

출력

MOLOCO가 입찰할 수 있는 광고 수의 최댓값을 출력한다.

예제2

  1. 예제 1

    입력
    6 10
    1 2 3 4 5 6
    6 5 4 3 2 1
    
    예상 출력
    4
    
  2. 예제 2

    입력
    12 10
    1 1 2 2 3 3
    6 5 4 3 2 1 1 2 3 4 5 6
    
    예상 출력
    7