Invitation

시간 제한3초메모리 제한512 MB

요약
각 단계에서 가장 높은 친밀도를 가진 개나 고양이를 초대하는 과정을 시뮬레이션하여 모두 초대할 수 있는지 판정하고, 성공하면 선택된 친밀도 값들의 합을 구한다.
난이도

어려움10점 중 9점

유형
시뮬레이션, 그리디, 힙, 구간
정답자
아직 제출이 없습니다

문제

20XX 年,ついに IOI が JOI 国の JOI 町で行われることになり,これを記念してパーティーが開かれるこ とになった.JOI 町には A 匹の犬 (1, 2,..., A の番号がついている) と B 匹の猫 (1, 2,..., B の番号がついて いる) がいる.あなたはこの A + B 匹みんなをパーティーに招待しようと考えた.

犬たちと猫たちの間には,N 個の仲良しグループがある.i 番目の仲良しグループは番号が Pi 以上 Qi 以 下の犬たち Qi − Pi + 1 匹と番号が Ri 以上 Si 以下の猫たち Si − Ri + 1 匹からなる.また,各仲良しグルー プには仲良し度と呼ばれる正の整数が定まっている.i 番目の仲良しグループの仲良し度は Ti である.1 匹 の犬や 1 匹の猫が複数の仲良しグループに所属しているかもしれないし,どの仲良しグループにも所属し ていない犬や猫がいるかもしれない.

あなたは番号 C の犬と非常に仲が良く,その犬の招待に既に成功した.あなたは以下の行動を繰り返し て残りの犬たちと猫たちを招待することにした.

  • A + B 匹みんなを既に招待できていれば終了する.
  • まだ誘えていない犬または猫それぞれに対して,誘うときの幸せ値を考える.幸せ値とは,その犬ま たは猫が所属している仲良しグループであって,既に招待することに成功した犬または猫が 1 匹以上 所属しているもののうちの,最大の仲良し度である.そのような仲良しグループが存在しない場合は 幸せ値は 0 となる.
  • 幸せ値が最大の犬または猫を選ぶ.そのような犬または猫が複数いる場合は,犬を優先し,それでも 1 匹に定まらない場合は,番号が小さい方を優先する.
  • 選ばれた犬または猫の幸せ値が 0 ならば,招待は失敗して終了する.そうでなければ,選ばれた犬ま たは猫を招待することに成功する.

あなたは,この招待方法がどういう結果になるのかを前もって計算することにした.

犬の数 A,猫の数 B,あなたと非常に仲が良い犬の番号 C,および N 個の仲良しグループの情報が与え られたとき,A + B 匹みんなを招待することに成功するかどうかを判定し,また,成功する場合は,各ス テップで選ばれる犬または猫の幸せ値の合計がいくつになるかを求めるプログラムを作成せよ.

입력

標準入力から以下の入力を読み込め.

  • 1 行目には整数 A, B, C (1 ≤ C ≤ A) が空白を区切りとして書かれており,それぞれ犬の数,猫の数, あなたと非常に仲が良い犬の番号を表す. • 2 行目には整数 N が書かれており,仲良しグループの個数を表す.
  • 2 + i 行目 (1 ≤ i ≤ N) には整数 Pi, Qi, Ri, Si, Ti (1 ≤ Pi ≤ Qi ≤ A, 1 ≤ Ri ≤ Si ≤ B) が空白を区切りと して書かれており,i 番目の仲良しグループは番号が Pi 以上 Qi 以下の犬たちと番号が Ri 以上 Si 以 下の猫たちからなり,仲良し度が Ti であることを表す.

출력

標準出力に,次に示される整数 1 つを 1 行で出力せよ.

  • A + B 匹みんなを招待することに成功する場合,各ステップで選ばれる犬または猫の幸せ値の合計を 表す整数.
  • 招待が途中で失敗する場合,整数 −1.

제한

  • 1 ≤ A ≤ 1 000 000 000 犬の数
  • 1 ≤ B ≤ 1 000 000 000 猫の数
  • 1 ≤ N ≤ 100 000 仲良しグループの個数
  • 1 ≤ Ti ≤ 1 000 000 000 仲良し度

예제2

  1. 예제 1

    입력
    5 6 3
    4
    2 4 1 3 20
    1 2 2 4 40
    4 5 2 3 30
    4 4 4 6 10
    
    예상 출력
    280
    
  2. 예제 2

    입력
    10 10 1
    2
    1 5 1 5 3
    6 10 6 10 4
    
    예상 출력
    -1