장거리 달리기

면접 대비

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

요약
지형 문자열과 단위 시간이 주어질 때, 왕복 시간이 M초 이내인 가장 먼 구간 번호 k를 구한다.
난이도

보통10점 중 4점

유형
배열, 누적 합, 구현, 이분 탐색
정답자
아직 제출이 없습니다

문제

베시(Bessie)는 어떤 지형에도 대비할 수 있도록 언덕이 포함된 길에서 달리며 다음 경주를 준비하고 있습니다. 베시는 하나의 직선 경로를 골랐고 농장에서 가능한 한 멀리까지 달려가고 싶어 하지만, MM초 이내에 농장으로 반드시 돌아와야 합니다 (1≤M≤10,000,0001 \le M \le 10{,}000{,}000).

베시가 고른 전체 경로의 길이는 TT 단위이며 (1≤T≤100,0001 \le T \le 100{,}000), 길이가 같은 여러 구간으로 나뉩니다. 각 구간은 오르막, 평지, 내리막 중 하나입니다. ii번째 구간은 하나의 문자 SiS_i로 주어지며, u는 오르막, f는 평지, d는 내리막을 뜻합니다.

베시는 오르막 한 단위를 달리는 데 UU초 (1≤U≤1001 \le U \le 100), 평지 한 단위에 FF초 (1≤F≤1001 \le F \le 100), 내리막 한 단위에 DD초 (1≤D≤1001 \le D \le 100)가 걸립니다. 농장으로 돌아올 때는 오르막이 내리막이 되고 내리막이 오르막이 됩니다(평지는 그대로 평지입니다).

베시가 kk번째 구간의 끝까지 갔다가 돌아온다면, 갈 때는 구간 11부터 kk까지 순서대로 지나고 올 때는 같은 구간들을 역순으로 지납니다. 베시가 농장에서 도달할 수 있으면서도 MM초 이내에 돌아올 수 있는 가장 먼 거리(단위 수)를 구하세요.

입력

  • 첫째 줄: 공백으로 구분된 다섯 정수 MM, TT, UU, FF, DD.
  • 둘째 줄부터 T+1T+1번째 줄까지: i+1i+1번째 줄에는 ii번째 구간을 나타내는 한 개의 문자 SiS_i가 주어집니다.

출력

  • 한 정수: 베시가 농장에서 도달할 수 있으면서 MM초 이내에 돌아올 수 있는 가장 먼 거리(단위 수).

예제2

  1. 예제 1

    입력
    13 5 3 2 1
    u
    f
    u
    d
    f
    
    예상 출력
    3
    
  2. 예제 2

    입력
    1 3 5 5 5
    u
    f
    d
    
    예상 출력
    0