Ralli | 프로그래밍의 벗 PivotOJ
PivotOJ

Ralli

시간 제한: 6000ms메모리 제한: 128MB출처: EIO 2015-16 prelimBOJ 7178

문제

Sa valmistud osalema autorallis ja pead otsustama, millistes tanklates teel kütust võtta.

Eeldused on:

  • Tankimisele kulub TT minutit (1T1041 \le T \le 10^4).
  • Autosse mahub maksimaalselt FmaxF_{\max} liitrit kütust (103Fmax10610^3 \le F_{\max} \le 10^6).
  • Kütuse hulk FF väheneb iga läbitud kilomeetri lõpus hetkega ΔF\Delta_F liitri võrra (1ΔF501 \le \Delta_F \le 50).
  • Auto kiirus (SS kilomeetrit minutis) kasvab kütuse väheneds, kuid päris ilma kütuseta auto ei sõida muidugi üldse; seos on S={SmaxCFkuiF>00kuiF=0\begin{equation*} S = \begin{cases} S_{max}-C \cdot F & \quad \textrm{kui} F > 0 \\ 0 & \quad \textrm{kui} F = 0 \end{cases} \end{equation*} (103Smax10610^3 \le S_{max} \le 10^6, 1C1021 \le C \le 10^2 ja andmed on alati sellised, et S0S \ge 0).
  • Ralli kogupikkus on DD kilomeetrit (103D10610^3 \le D \le 10^6).
  • Tanklate arv on NN (1N251 \le N \le 25).
  • Tanklate asukohad on MiM_i, mis näitavad tankla kaugust stardist (0<Mi<D0 < M_i < D ja iga i<ji < j korral Mi<MjM_i < M_j).

Kirjutada programm, mis leiab optimaalsed tankimiskohad ja igas tanklas võetava kütuse hulga, et ralli minimaalse koguajaga läbi sõita.

입력

Tekstifailis on järgmised täisarvud, igaüks eraldi real: TT, FmaxF_{\max}, ΔF\Delta_F, SmaxS_{\max}, CC, DD, NN, M1M_1, \ldots, MNM_N.

출력

Tekstifaili esimesele reale väljastada täisarv F0F_0, stardis tangitava kütuse hulk. Faili teisele reale väljastada tankimispeatuste arv KK. Järgmisele KK reale väljastada igaühele kaks täisarvu, tankla indeks ja selles tanklas võetava kütuse kogus. Peatused väljastada tanklate indeksite kasvamise järjekorras.

예제

예제 1

입력
3
20000
2
150000
2
30000
2
10000
20000
출력
20000
2
1 20000
2 20000
이 문제는 채점 준비 중입니다. 테스트 데이터가 확보되면 제출이 가능합니다.