만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

복수

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

요약
간선 구간의 간선을 차례로 보면서 건너거나 거절 비용 r을 내고 넘어갈 때, u에서 v까지의 최소 비용을 구합니다.
난이도

어려움10점 중 8점

유형
동적 계획법, 분할 정복, 행렬, 그래프
정답자
아직 제출이 없습니다

문제

Gigel은 양의 비용을 가진 무방향 그래프 GG를 가지고 있으며, 이 그래프는 NN개의 정점과 MM개의 간선으로 이루어진다. 루마니아 국립 정보올림피아드에서 일이 꼬인 뒤, Gigel의 동생 Ninel이 Gigel의 간선을 모두 훔쳐 갔다. Gigel은 간선을 되찾고 싶지만, Ninel은 그에게 여러 도전 과제를 준다. 길이가 LL인 무방향 간선 배열 SS가 주어진다. 각 간선은 일반 비용과 거절 비용 rr을 가진다. Gigel은 Ninel이 준 임무를 수행해야 한다. 임무는 SS의 간선 부분 배열만 사용해서 정점 uu에서 정점 vv까지 가는 최소 비용을 구하는 것이다. 사용할 수 있는 간선은 인덱스 구간 [a,b][a,b] (a≤ba \le b)로 정해지며, 이 구간이 Gigel이 쓸 수 있는 SS의 간선 번호를 나타낸다.

Gigel은 정점 xx에서 출발해 간선 Sa,Sa+1,…,SbS_a, S_{a+1}, \dots, S_b를 차례로 본다. 각 단계에서 그는 다음 둘 중 하나를 고른다. 현재 간선 (x,y)(x,y)를 사용해 xx에 있으면 yy로 이동하고, yy에 있으면 xx로 이동한다. 이때 이동 비용에 간선의 비용이 더해진다. 아니면 현재 간선을 거절하고 현재 정점에 머문다. 이때 이동 비용에 간선의 거절 비용이 더해진다.

NN, 배열 SS, 그리고 QQ개의 임무가 주어진다. SS의 각 원소는 비용 cc와 거절 비용 rr을 가진 간선 (x,y)(x,y)를 나타내는 ⟨x,y,c,r⟩\langle x,y,c,r \rangle 형태다. 각 임무는 ⟨u,v,a,b⟩\langle u,v,a,b \rangle 형태이며, Gigel은 uu에서 출발해 vv에 도달해야 하고, 인덱스가 aa부터 bb 사이인 간선만 쓸 수 있다. 각 임무의 최소 비용을 구하라. vv에 도달할 수 없으면 −1-1을 출력한다.

입력

첫 줄에 세 정수 NN, LL, QQ가 주어진다. 다음 LL개의 줄에는 SS의 간선을 나타내는 네 정수 xx, yy, cc, rr이 주어진다. 그다음 QQ개의 줄에는 임무를 나타내는 네 정수 uu, vv, aa, bb가 주어진다.

출력

QQ개의 줄을 출력한다. ii번째 줄에는 ii번째 임무의 답을 출력한다.

제한

2≤N≤302 \le N \le 30, 1≤L≤3×1041 \le L \le 3 \times 10^4, 1≤Q≤3×1051 \le Q \le 3 \times 10^5, 0≤c,r≤1040 \le c, r \le 10^4, 1≤x,y,u,v≤N1 \le x, y, u, v \le N.

예제2

  1. 예제 1

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

    입력
    4 8 6
    2 4 5 8
    2 4 4 8
    2 3 6 4
    1 4 5 0
    2 4 10 10
    1 3 5 2
    3 2 2 9
    3 4 1 1
    3 2 1 5
    3 1 2 2
    1 1 1 7
    2 3 2 4
    3 3 1 7
    1 2 2 5
    
    예상 출력
    32
    -1
    41
    14
    36
    27