알파벳 블록

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

요약
S, C, O, N 블록 개수가 주어지고 O는 C 2개로, S는 N으로 서로 바꿀 수 있을 때, SCON과 SCCC를 하나씩 담은 상자 개수의 최댓값을 구한다.
난이도

보통10점 중 4점

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

문제

S, C, O, N 4종류의 알파벳 블록을 가지고 놀던 도현이는 두 가지 사실을 알아냈다.

  • 알파벳 O 블록 1개를 반으로 자르면 알파벳 C 블록 2개로 사용할 수 있다. 알파벳 C 블록 2개를 합쳐서 알파벳 O 블록 1개로 사용하는 것도 가능하다.
  • 알파벳 S 블록 1개를 뒤집으면 알파벳 N 블록 1개로 사용할 수 있다. 알파벳 N 블록 1개를 뒤집어서 알파벳 S 블록 1개로 사용하는 것도 가능하다.

도현이는 교내 대회 홍보를 위해 문자열 “SCON”과 “SCCC”가 하나씩 들어있는 상자를 사람들에게 나눠주기로 했다. 도현이는 가지고 있던 블록들로 문자열을 만들어 최대한 많은 사람들에게 상자를 나눠주려 한다. 각 알파벳 블록의 개수가 주어졌을 때, 도현이가 나눠줄 수 있는 상자 개수의 최댓값을 구해보자.

입력

첫째 줄에 S, C, O, N 알파벳 블록의 개수를 의미하는 b_Sb\_S, b_Cb\_C, b_Ob\_O, b_Nb\_N이 공백으로 구분되어 주어진다.

출력

도현이가 나눠줄 수 있는 상자 개수의 최댓값을 출력한다.

제한

  • 0≤b_S,b_C,b_O,b_N≤1,000,0000\le b\_S,b\_C,b\_O,b\_N\le 1\\, 000\\, 000
  • 입력으로 주어지는 수는 모두 정수이다.

예제3

  1. 예제 1

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

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

    입력
    20 24 20 25
    
    예상 출력
    10