æŸå›½ã«ä½ã‚€å¤§å¦ç”ŸDæ°ã¯ï¼Œå›½æ°‘的ギタリストAæ°ã®å¤§ãƒ•ã‚¡ãƒ³ã§ï¼Œã“ã®å¤éƒ½å¿ƒã§è¡Œã‚れるライブã«è¡Œã“ã†ã¨è€ƒãˆã¦ã„る. ã—ã‹ã—,Dæ°ã¯è¾ºå¢ƒã®åœ°ã«ä½ã‚“ã§ã„ã‚‹ãŸã‚,交通費ãŒã‹ã‹ã‚‹ã“ã¨ãŒã¨ã¦ã‚‚ä¸å®‰ã ã£ãŸï¼Ž ãã‚“ãªã¨ãå½¼ã¯ï¼ŒJAGã¨ã„ã†çµ„ç¹”ã‹ã‚‰å®‰ä¾¡ã§è²©å£²ã•ã‚Œã¦ã„る「1Dayパスãƒãƒ¼ãƒˆã€ã®å˜åœ¨ã‚’知ã£ãŸï¼Ž
JAG (Journey Administrative Group) ã¯ï¼ŒDæ°ãŒä½ã‚€å›½ã«å˜åœ¨ã™ã‚‹ã„ãã¤ã‹ã®é‰„é“会社を統括ã™ã‚‹çµ„ç¹”ã§ã‚る. JAGã¯ï¼Œå…¨å›½ã«è¤‡æ•°ã®é§…ã‚’æŒã¡ï¼Œãれらã®é–“ã‚’çµã¶è·¯ç·šã‚’æ•´å‚™ã—ã¦ã„る. å„路線ã¯ï¼ŒJAGã«æ‰€å±žã™ã‚‹ä¼šç¤¾ã®å†…ã„ãšã‚Œã‹1社ã«ã‚ˆã‚Šç®¡ç†ã•ã‚Œã¦ãŠã‚Šï¼Œ2駅間を途ä¸é§…ç„¡ã—ã§åŒæ–¹å‘ã«çµã‚“ã§ã„る. ã¾ãŸå„路線ã«ã¯ï¼Œåˆ©ç”¨ã™ã‚‹éš›ã®é‹è³ƒã¨æ‰€è¦æ™‚é–“ãŒå®šã¾ã£ã¦ã„ã‚‹ (ã“れらã¯ã©ã¡ã‚‰å‘ãã«ç§»å‹•ã™ã‚‹å ´åˆã§ã‚‚ç‰ã—ã„). JAGã®ãƒ€ã‚¤ãƒ¤ã¯ã‚·ãƒ³ãƒ—ルã«ä½œã‚‰ã‚Œã¦ãŠã‚Šï¼Œåˆ—車ã¯æ¯Žæ™‚0分ã«é§…ã«ç™ºç€ã™ã‚‹ï¼Ž ã¾ãŸJAGã®å„駅ã¯ï¼Œæ¥µã‚ã¦è³¢ãデザインã•ã‚Œã¦ãŠã‚Šï¼Œè·¯ç·šã®ä¹—ã‚Šæ›ãˆã«ã‹ã‹ã‚‹æ™‚é–“ã¯ç„¡è¦–ã™ã‚‹ã“ã¨ãŒã§ãる. 移動ã«å¿…è¦ãªäº¤é€šè²»ã¯é‹è³ƒã®å˜ç´”ãªåˆè¨ˆã¨ãªã‚‹.
1Dayパスãƒãƒ¼ãƒˆã¯ï¼ŒJAGãŒæ˜¨ä»Šã®çµŒå–¶é›£ã‚’脱ã™ã‚‹ãŸã‚ã«è²©å£²ã—始ã‚ãŸï¼Œä¹—り放題パスãƒãƒ¼ãƒˆã§ã‚る. JAGã¯ï¼Œä½•ç¨®é¡žã‹ã®1Dayパスãƒãƒ¼ãƒˆã‚’販売ã—ã¦ã„る. å„パスãƒãƒ¼ãƒˆã¯ï¼ŒJAGãŒæŒ‡å®šã™ã‚‹è²©å£²ä¾¡æ ¼ã§è³¼å…¥ã™ã‚‹ã“ã¨ãŒã§ãる. ã¾ãŸãƒ‘スãƒãƒ¼ãƒˆã«ã¯ï¼ŒJAGã«æ‰€å±žã™ã‚‹ä¼šç¤¾åãŒã„ãã¤ã‹æ›¸ã‹ã‚Œã¦ãŠã‚Šï¼Œã“れらã®ä¼šç¤¾ãŒç®¡ç†ã™ã‚‹å…¨ã¦ã®è·¯ç·šãŒ1日間 (è¿½åŠ æ–™é‡‘ç„¡ã—ã§) 乗り放題ã«ãªã‚‹ï¼Ž パスãƒãƒ¼ãƒˆã¯ï¼Œã„ãã¤ã§ã‚‚購入ã™ã‚‹ã“ã¨ãŒã§ã,複数ã®ãƒ‘スãƒãƒ¼ãƒˆã‚’併用ã™ã‚‹ã“ã¨ãŒã§ãる. ãŸã ã—,パスãƒãƒ¼ãƒˆã«æ›¸ã‹ã‚Œã¦ã„ãªã„会社ã®ç®¡ç†è·¯ç·šã‚’é€šã‚‹å ´åˆï¼Œãã®è·¯ç·šã®é‹è³ƒã¯é€šå¸¸é€šã‚Šå¿…è¦ã¨ãªã‚‹ï¼Ž
Dæ°ã¯ï¼Œ1Dayパスãƒãƒ¼ãƒˆã‚’ã†ã¾ã使ã„,ãªã‚‹ã¹ããŠé‡‘ã‚’ã‹ã‘ãšãƒ©ã‚¤ãƒ–ä¼šå ´ã¾ã§è¡ŒããŸã„ã¨è€ƒãˆã¦ã„る. ã¾ãŸï¼Œå½¼ã¯å®¿æ³Šã§ä½™è¨ˆã«ãŠé‡‘ã‚’ã‹ã‘ã‚‹ã®ãŒå«Œãªã®ã§ï¼Œã“ã®å›½ã®1æ—¥ã§ã‚ã‚‹H時間以下ã§ãƒ©ã‚¤ãƒ–ä¼šå ´ã¾ã§è¾¿ã‚Šç€ããŸã„ã¨è€ƒãˆã¦ã„る. ã—ã‹ã—,彼ã¯è¨ˆç®—ãŒå¾—æ„ã§ã¯ãªã„ãŸã‚,åŒã˜å¤§å¦ã®å‹äººã§ãƒ—ãƒã‚°ãƒ©ãƒŸãƒ³ã‚°ãŒå¾—æ„ãªã‚ãªãŸã«åŠ©ã‘を求ã‚ã¦æ¥ãŸï¼Ž å›°ã£ã¦ã„ã‚‹Dæ°ã®ãŸã‚ã«ï¼Œæ¬¡ã®ã‚ˆã†ãªãƒ—ãƒã‚°ãƒ©ãƒ を書ã„ã¦ã‚ã’よã†ï¼Ž
JAGã®è·¯ç·šæƒ…å ±ã¨1Dayパスãƒãƒ¼ãƒˆã®æƒ…å ±ãŒä¸Žãˆã‚‰ã‚ŒãŸã¨ã,Dæ°ã®æœ€å¯„り駅ã‹ã‚‰ãƒ©ã‚¤ãƒ–ä¼šå ´ã®æœ€å¯„り駅ã¸ï¼ŒH時間以下ã§ç§»å‹•ã™ã‚‹ãŸã‚ã®æœ€å°è²»ç”¨ (パスãƒãƒ¼ãƒˆä»£ã¨é‹è³ƒã®åˆè¨ˆã®æœ€å°) を求ã‚るプãƒã‚°ãƒ©ãƒ を作æˆã›ã‚ˆï¼Ž H時間以下ã§åˆ°é”ã§ããªã„å ´åˆã‚„ï¼Œãƒ©ã‚¤ãƒ–ä¼šå ´ã¸åˆ°é”ã™ã‚‹çµŒè·¯ãŒãªã„å ´åˆã¯ï¼Œ-1を出力ã›ã‚ˆï¼Ž
入力ã¯ï¼Œè¤‡æ•°ã®ãƒ‡ãƒ¼ã‚¿ã‚»ãƒƒãƒˆã‹ã‚‰æ§‹æˆã•ã‚Œï¼Œ1ã¤ã®å…¥åŠ›ã«å«ã¾ã‚Œã‚‹ãƒ‡ãƒ¼ã‚¿ã‚»ãƒƒãƒˆã®æ•°ã¯150以下ã§ã‚る. å„データセットã®å½¢å¼ã¯æ¬¡ã®é€šã‚Šã§ã‚る.
N M H K
a1 b1 c1 h1 r1
...
aM bM cM hM rM
S T
P
l1 d1 k1,1 ... k1,l1
...
lP dP kP,1 ... kP,lP
入力ã¯å…¨ã¦æ•´æ•°å€¤ã§ä¸Žãˆã‚‰ã‚Œã‚‹ï¼Ž
ã¾ãšï¼ŒJAGã®è·¯ç·šæƒ…å ±ãŒä¸Žãˆã‚‰ã‚Œã‚‹ï¼Ž N (2≤N≤100) ã¯é§…ã®æ•°ï¼ŒM (1≤M≤500) ã¯è·¯ç·šã®æ•°ï¼ŒH (1≤H≤24) ã¯1æ—¥ã®æ™‚間,K (1≤K≤8) ã¯JAGã«æ‰€å±žã™ã‚‹ä¼šç¤¾æ•°ã‚’表ã™ï¼Ž å„駅ã«ã¯ï¼Œ1,2,…,N ã¨ç•ªå·ãŒã¤ã„ã¦ã„る. ã¾ãŸï¼Œå„会社ã«ã¯ï¼Œ1,2,…,K ã¨ç•ªå·ãŒã¤ã„ã¦ã„る. 続ã„㦠M è¡Œã«ã‚ãŸã£ã¦è·¯ç·šæƒ…å ±ãŒå…¥åŠ›ã•ã‚Œã‚‹ï¼Ž ai 㨠bi (1≤ai<bi≤N) ㌠i 番目ã®è·¯ç·šãŒã¤ãªã„ã§ã„ã‚‹2ã¤ã®é§…を表ã™ï¼Ž ci (1≤ci≤10,000) 㯠i 番目ã®è·¯ç·šã®é‹è³ƒï¼Œhi (1≤hi≤H) ã¯è·¯ç·šã®æ‰€è¦æ™‚間,ri (1≤ri≤K) ã¯è·¯ç·šã‚’管ç†ã—ã¦ã„る会社を表ã™ï¼Ž ã‚ã‚‹2ã¤ã®é§…ã‚’çµã¶è·¯ç·šãŒ2本以上å˜åœ¨ã™ã‚‹ã“ã¨ã¯ãªã„.
次ã®è¡Œã§ï¼ŒDæ°ã®æœ€å¯„り駅 S ã¨ï¼ŒAæ°ã®ãƒ©ã‚¤ãƒ–ä¼šå ´ã®æœ€å¯„り駅 T ãŒä¸Žãˆã‚‰ã‚Œã‚‹ (1≤S,T≤N). S 㨠T ã¯ç•°ãªã‚‹å€¤ã§ã‚る.
次ã«ï¼Œ1Dayパスãƒãƒ¼ãƒˆã®æƒ…å ±ãŒä¸Žãˆã‚‰ã‚Œã‚‹ï¼Ž P (0≤P≤2K−1) ã¯ï¼Œ1Dayパスãƒãƒ¼ãƒˆã®ç¨®é¡žæ•°ã‚’表ã—ã¦ã„る. 続ã„㦠P è¡Œã«ã‚ãŸã£ã¦ï¼Œ1Dayパスãƒãƒ¼ãƒˆã®æƒ…å ±ãŒå…¥åŠ›ã•ã‚Œã‚‹ï¼Ž lj (1≤lj≤K) 㨠dj (1≤dj≤10,000) ã¯ï¼Œãã‚Œãžã‚Œ j 番目ã®1Dayパスãƒãƒ¼ãƒˆã«æ›¸ã‹ã‚Œã¦ã„る会社数ã¨ãƒ‘スãƒãƒ¼ãƒˆã®æ–™é‡‘を表ã™ï¼Ž åŒã˜è¡Œã«ï¼Œj 番目ã®ãƒ‘スãƒãƒ¼ãƒˆã«æ›¸ã‹ã‚ŒãŸ lj 個ã®ä¼šç¤¾ç•ªå· kj,1,kj,2,…,kj,lj (1≤kj,1<kj,2<⋯<kj,lj≤K) ãŒä¸Žãˆã‚‰ã‚Œã‚‹ï¼Ž åŒã˜ä¼šç¤¾ã®çµ„ã¿åˆã‚ã›ã‹ã‚‰ãªã‚‹1Dayパスãƒãƒ¼ãƒˆãŒè¤‡æ•°å…¥åŠ›ã•ã‚Œã‚‹ã“ã¨ã¯ãªã„.
入力ã®çµ‚ã‚ã‚Šã¯ï¼ŒN=M=H=K=0 ã®è¡Œã«ã‚ˆã£ã¦è¡¨ã•ã‚Œã‚‹ï¼Ž ã“ã®ãƒ‡ãƒ¼ã‚¿ã¯å‡¦ç†ã‚’è¡Œã£ã¦ã¯ãªã‚‰ãªã„.
å„データセットã«å¯¾ã—ã¦ï¼Œè¨ˆç®—çµæžœã‚’1è¡Œã§å‡ºåŠ›ã›ã‚ˆï¼Ž ã™ãªã‚ã¡ï¼ŒDæ°ã®æœ€å¯„り駅ã‹ã‚‰ãƒ©ã‚¤ãƒ–ä¼šå ´ã®æœ€å¯„り駅ã¸ã®çµŒè·¯ãŒå˜åœ¨ã— H 時間以内ã«åˆ°é”ã§ãã‚‹ã®ã§ã‚ã‚Œã°ï¼Œãã®ãŸã‚ã®æœ€å°ã®æ–™é‡‘を,辿りç€ã‘ãªã„ã®ã§ã‚ã‚Œã°-1を出力ã›ã‚ˆï¼Ž
3 3 3 2 1 2 3 1 1 1 3 8 1 1 2 3 3 2 2 1 3 0 3 3 2 2 1 2 3 1 1 1 3 8 1 1 2 3 3 2 2 1 3 0 6 4 3 2 1 2 3 1 1 1 3 8 1 1 4 6 3 2 2 5 6 7 2 2 1 6 0 3 3 3 2 1 2 3 1 1 1 3 8 1 1 2 3 3 2 2 1 3 2 2 6 1 2 1 2 2 3 3 2 2 1 2 3 1 1 1 3 8 1 1 2 3 3 2 2 1 3 2 2 6 1 2 1 2 2 3 2 2 2 1 2 3 1 1 2 3 3 2 2 1 3 2 2 6 1 2 1 2 2 5 4 20 4 2 4 100 5 1 1 4 100 5 3 1 5 100 5 4 3 5 100 5 2 3 2 3 2 80 1 2 2 60 1 3 2 40 2 3 0 0 0 0
6 8 -1 5 6 -1 200