예산 B 안에서 1번부터 C번 코스를 순서대로 제공하는 식당들을 골라 이동 거리 합을 최소화하고, 불가능하면 -1을 출력한다.
보통7동적 계획법최단 경로그래프구현아직 제출이 없습니다시간 제한2초메모리 제한512 MB라시드는 바르셀로나를 처음 방문했고 제대로 된 저녁 식사를 하고 싶다. 최고의 저녁 식사는 C개의 코스로 이루어지며, 코스에는 1번부터 C번까지 번호가 붙어 있고 반드시 번호 순서대로 먹어야 한다.
바르셀로나의 도로는 동서 방향 도로와 남북 방향 도로가 직교하는 규칙적인 격자를 이룬다. 도시에 식당이 R개 있고 모두 교차점에 있다. 교차점 (i1,j1)에서 교차점 (i2,j2)까지 걸어가는 데 걸리는 시간은 정확히 ∣i1−i2∣+∣j1−j2∣분이다. 여기서 (i,j)는 서쪽에서 i번째 도로와 남쪽에서 j번째 도로가 만나는 교차점을 뜻한다.
식당이 모든 코스를 파는 것은 아니다. 식당 k가 코스 c를 판다면 가격은 P[k,c]유로다. P[k,c]=0이면 그 식당은 그 코스를 팔지 않는다. 라시드가 저녁 식사에 쓸 수 있는 돈은 B유로다. 예산을 넘기지 않고 최고의 저녁 식사를 마칠 수 있는 식당 순서를 고르되, 식당 사이를 이동하는 총 시간을 최소로 하려고 한다. 투어는 아무 교차점에서나 시작하고 아무 교차점에서나 끝낼 수 있으며, 같은 식당을 여러 번 방문해도 된다.

그림의 예에서 코스는 세 개이고, 식당마다 코스 번호 순서대로 가격이 적혀 있다. -는 그 코스를 팔지 않는다는 뜻, 즉 P[k,c]=0인 경우다. 예산이 9유로라면 최적 투어는 식당 1,4,3을 차례로 방문하는 것이고, 비용은 6유로, 총 이동 시간은 12분이다. 식당 1,2,2를 차례로 방문하면 이동 시간이 2분으로 더 짧지만 비용이 17유로여서 예산 9유로를 넘는다.
첫째 줄에 정수 C, R, B가 공백 하나로 구분되어 주어진다. 이어서 R개의 줄이 주어진다. k번째 줄은 k번 식당을 나타내고, 공백으로 구분된 2+C개의 정수 i[k], j[k], P[k,1], …, P[k,C]로 이루어진다. (i[k],j[k])는 그 식당의 위치다.
제한
정수 y 하나를 출력한다. y는 라시드가 고를 수 있는 최적 식당 투어의 최소 총 이동 시간이다. 가능한 투어가 없으면 −1을 출력한다.