McFly
시간 제한2초메모리 제한512 MB
McFly가 1초에 1미터씩 움직이며 시간 구간마다 놓이는 쿠키를 맛볼 때, 같은 쿠키를 연달아 맛보지 않는 조건에서 얻을 수 있는 최대 맛본 횟수를 구합니다.
문제
McFly는 오늘 밤 파티에 가는 파리다. 안타깝게도 이 파티는 파리가 아니라 사람을 위한 파티다.
파티장에는 길이가 미터인 테이블이 있다. 사람들은 쿠키를 테이블에 잠시 내려놓았다가 나중에 다시 집어 간다. 사람이 쿠키 곁을 떠난 사이에 McFly가 날아가 그 쿠키를 맛볼 수 있다. McFly는 쿠키 맛보기를 가장 좋아한다. 쿠키를 먹고 싶은 것이 아니라 가능한 한 많은 쿠키의 맛을 보고 싶어 한다. 직전에 맛본 쿠키와 다른 쿠키이거나 파티에서 처음 맛보는 쿠키라면 그 맛을 즐긴다. 같은 쿠키를 여러 번 맛봐도 되지만, 같은 쿠키를 두 번 맛볼 때마다 그 사이에 다른 쿠키를 최소 하나는 맛봐야 한다.
점쟁이가 테이블에 놓일 쿠키 개의 정보를 McFly에게 알려 주었다. 번째 쿠키는 테이블의 시작점에서 미터 떨어진 위치에 있고, 시각 부터 까지 놓여 있다. 시각은 파티가 시작한 뒤의 초 단위다. 같은 위치에 같은 시간에 놓인 쿠키는 없다. 즉 이고 이면 또는 이다.
테이블은 수평선이고, McFly와 쿠키는 그 위의 점으로 본다. 파티가 시작하기 전에 McFly는 어느 위치에 있어도 된다. 파티가 시작한 뒤에는 테이블을 따라 초당 1미터의 속도로 날거나 제자리에 머물 수 있다. McFly는 시각 가 를 만족할 때 위치 에 있으면 쿠키 를 맛볼 수 있다. 맛보는 데는 시간이 걸리지 않는다.
McFly가 즐길 수 있는 맛의 최대 개수를 구하라.
입력
첫째 줄에 정수 ()이 주어진다. 이어서 개의 줄에 정수 , , 가 한 줄씩 주어진다 (, ). 모든 쿠키가 테이블에 놓여 있는 시간의 합은 을 넘지 않는다.
출력
McFly가 즐길 수 있는 새로운 맛의 최대 개수를 출력한다.