今ã‹ã‚‰å°‘ã—未æ¥ã®è©±ã§ã‚る.高密度記憶ãŠã‚ˆã³é•·æœŸä¿å˜å¯èƒ½ã§ã‚る記録デãƒã‚¤ã‚¹ãŒé–‹ç™ºã•ã‚Œã¦ããŸãŒï¼Œã‚³ãƒ³ãƒ†ãƒ³ãƒ„ãŒç”Ÿã¿å‡ºã•ã‚Œã‚‹é€Ÿåº¦ãŒç•°å¸¸ãªã»ã©ã«é€Ÿã‹ã£ãŸãŸã‚,データセンターをè¨ç«‹ã—ãŸï¼Žãƒ‡ãƒ¼ã‚¿ã‚»ãƒ³ã‚¿ãƒ¼ã‚’è¨ç«‹ã—ãŸå½“åˆã¯å°ã•ãªå»ºç‰©ã ã£ãŸãŒï¼Œå¢—ãˆç¶šã‘るデータã«ã‚ã‚ã›ã¦ä½•åº¦ã‚‚拡張工事をã—ãŸãŸã‚,性能ã®ç•°ãªã‚‹ã‚¨ãƒ¬ãƒ™ãƒ¼ã‚¿ã‚’何基もæŒã¤ã“ã¨ã¨ãªã£ãŸï¼Ž
ã¨ã“ã‚ãŒï¼Œãƒ‡ãƒ¼ã‚¿ã‚»ãƒ³ã‚¿ãƒ¼ã§ç«ç½ãŒç™ºç”Ÿã—ãŸï¼Žç«ã¯ä¸€å®šæ™‚é–“ã ã‘経éŽã™ã‚‹ã¨ä¸Šã®éšŽãªã„ã—下ã®éšŽã«ç‡ƒãˆåºƒãŒã‚‹ï¼Žã¾ãŸï¼Œç«ãŒã¤ã„ã¦ã‹ã‚‰ä¸€å®šæ™‚é–“ã ã‘経éŽã™ã‚‹ã¨ãã®éšŽã¯ç„¼å¤±ã—ã¦ã—ã¾ã†ï¼Žãã“ã§ã‚¨ãƒ¬ãƒ™ãƒ¼ã‚¿ã‚’使ã£ã¦ãƒ‡ãƒã‚¤ã‚¹ã‚’é‹ã³å‡ºã™ã“ã¨ã¨ã—ãŸï¼Žã“ã®ã‚¨ãƒ¬ãƒ™ãƒ¼ã‚¿ã¯è€ç«æ€§èƒ½ãŒå®Œç’§ã§ã‚ã‚‹ãŸã‚,階ã®ç„¼å¤±ã«é–¢ã‚らãšä»»æ„ã®éšŽã¸ç§»å‹•ã§ãる.ã¾ãŸï¼Œéžå¸¸ã«å¼·åŠ›ãªåŠ 速減速装置をæŒã¤ã“ã¨ã‹ã‚‰ï¼ŒåŠ 速ãŠã‚ˆã³æ¸›é€Ÿã«ã‹ã‹ã‚‹æ™‚é–“ã¯ç„¡è¦–ã§ãã‚‹ã»ã©å°ã•ã„ãŸã‚,一瞬ã«ã—ã¦å®šå¸¸é€Ÿåº¦ã«åŠ 速ã™ã‚‹ã“ã¨ï¼Œã‚ã‚‹ã„ã¯åœæ¢ã™ã‚‹ã“ã¨ãŒã§ãる.ã¾ãŸï¼Œç·Šæ€¥æ™‚ã«ãŠã„ã¦ã¯ã„ã‚ゆる「開ã€ãƒœã‚¿ãƒ³ãŒæ©Ÿèƒ½ã—ãªã„よã†ã«ãƒ—ãƒã‚°ãƒ©ãƒ ã•ã‚Œã¦ã„ã‚‹ãŸã‚,エレベータã®åœæ¢æ™‚é–“ã¯é‹ã³å‡ºã™ï¼ˆã‚ã‚‹ã„ã¯é™ã‚ã™ï¼‰ãƒ‡ãƒã‚¤ã‚¹ã®å€‹æ•°ã«ã‹ã‹ã‚らãšä¸€å®šã§ã‚る.ã¾ãŸï¼ŒéšŽã®ç„¼å¤±å‰ã«åˆ°ç€ã—ãŸã‚¨ãƒ¬ãƒ™ãƒ¼ã‚¿ã«ã‚ˆã£ã¦é‹ã³å‡ºã•ã‚Œã‚‹ãƒ‡ãƒã‚¤ã‚¹ã«ã¤ã„ã¦ã¯ï¼ŒãŸã¨ãˆã‚¨ãƒ¬ãƒ™ãƒ¼ã‚¿ã®å‡ºç™ºå‰ã«éšŽãŒç„¼å¤±ã—ãŸã¨ã—ã¦ã‚‚,焼失ã®å½±éŸ¿ã‚’å—ã‘ãªã„.ãŸã ã—,エレベータã«ä¹—ã›ã‚‹ã“ã¨ãŒã§ããªã‹ã£ãŸãƒ‡ãƒã‚¤ã‚¹ã¯å½“然ãªãŒã‚‰ç„¼å¤±ã™ã‚‹ï¼Ž
エレベータã¯ã©ã®éšŽã‹ã‚‰å›žåŽã—ã¦ã‚ˆã„ã‹åˆ†ã‹ã‚‰ãªã„ãŸã‚,デãƒã‚¤ã‚¹ã®ã‚る最上階を目指ã™ã‚ˆã†ã«ãƒ—ãƒã‚°ãƒ©ãƒ ã•ã‚Œã¦ã„る.ãŸã ã—,エレベータåŒå£«ã¯é€šä¿¡å¯èƒ½ã§ã‚り,別ã®ã‚¨ãƒ¬ãƒ™ãƒ¼ã‚¿ãŒç›®çš„階ã«åˆ°ç€ã—ãŸçž¬é–“ã«æƒ…å ±ãŒé€šä¿¡ã•ã‚Œã‚‹ï¼Žåˆ°ç€ã—ãŸã‚¨ãƒ¬ãƒ™ãƒ¼ã‚¿ã«å…¨ã¦ã®ãƒ‡ãƒã‚¤ã‚¹ãŒç©ã¿ã“ã‚ã‚‹ã“ã¨ãŒã‚ã‹ã£ãŸã¨ãã¯ï¼Œç›®çš„階よりも下ã«ã‚り,回åŽå¯èƒ½ãªãƒ‡ãƒã‚¤ã‚¹ãŒæ®‹ã£ã¦ã„る階ã®ã†ã¡ã§æœ€ä¸ŠéšŽã«ç›®çš„階を変更ã™ã‚‹ï¼Žã¾ãŸï¼Œç„¼å¤±ã®ãŸã‚ã«ç›®çš„階ã«å‘ã‹ã†å¿…è¦æ€§ãŒå¤±ã‚ã‚ŒãŸã¨ãも,åŒæ§˜ã«ã—ã¦ç›®çš„階を変更ã™ã‚‹ï¼Žç›®çš„階を変更ã™ã‚‹ã¨ãã«ï¼Œç§»å‹•æ–¹å‘を変更ã™ã‚‹å¿…è¦ãŒã‚ã‚‹ã¨ãã¯ï¼Œå³åº§ã«ç§»å‹•æ–¹å‘を変更ã™ã‚‹ï¼Žã¾ãŸï¼Œã‚¨ãƒ¬ãƒ™ãƒ¼ã‚¿ãŒæº€æ¯ã«ãªã£ã¦ãれ以上ã®ãƒ‡ãƒã‚¤ã‚¹ã‚’ç©ã¿ã“ã‚€ã“ã¨ãŒã§ããªã„ã¨ã,ã‚ã‚‹ã„ã¯å›žåŽå¯èƒ½ãªãƒ‡ãƒã‚¤ã‚¹ãŒæ®‹ã£ã¦ã„ãªã„ã¨ã㯠1 階を目指ã™ï¼Ž
ã‚ãªãŸã®ä»•äº‹ã¯ï¼Œä¸Šè¨˜ã®æ¡ä»¶ã®ã‚‚ã¨ã§ï¼Œé€€é¿ã•ã›ã‚‹ã“ã¨ã®ã§ããŸãƒ‡ãƒã‚¤ã‚¹ã®å€‹æ•°ãŠã‚ˆã³åˆ°ç€æ™‚刻を求ã‚るプãƒã‚°ãƒ©ãƒ を作æˆã™ã‚‹ã“ã¨ã§ã‚る.
入力ã¯è¤‡æ•°ã®ãƒ‡ãƒ¼ã‚¿ã‚»ãƒƒãƒˆã‹ã‚‰æ§‹æˆã•ã‚Œã‚‹ï¼Žãã‚Œãžã‚Œã®ãƒ‡ãƒ¼ã‚¿ã‚»ãƒƒãƒˆã¯æ¬¡ã®å½¢å¼ã§ä¸Žãˆã‚‰ã‚Œã‚‹ï¼Ž
N M
d
n1 n2 ... nN
c1 v1 ts1 x1
c2 v2 ts2 x2
...
cM vM tsM xM k tx ty tz
記å·ã®æ„味ã¯æ¬¡ã®ã¨ãŠã‚Šã§ã‚る.入力ä¸ã®å€¤ã¯ã™ã¹ã¦æ•´æ•°ã§ã‚る.
入力ã®çµ‚了㯠2 ã¤ã® 0 ã‚’å«ã‚€è¡Œã«ã‚ˆã£ã¦ã‚らã‚ã•ã‚Œã‚‹ï¼Žã“ã‚Œã¯ãƒ‡ãƒ¼ã‚¿ã‚»ãƒƒãƒˆã®ä¸€éƒ¨ã§ã¯ãªã„.
ãã‚Œãžã‚Œã®ãƒ‡ãƒ¼ã‚¿ã‚»ãƒƒãƒˆã¯æ¬¡ã®æ¡ä»¶ã‚’満ãŸã™ã¨ä»®å®šã—ã¦ã‚ˆã„.
ãã‚Œãžã‚Œã®ãƒ†ã‚¹ãƒˆã‚±ãƒ¼ã‚¹ã«ã¤ã„ã¦ï¼Œå›žåŽã•ã‚ŒãŸãƒ‡ãƒã‚¤ã‚¹ã®å€‹æ•°ï¼ŒãŠã‚ˆã³æœ€å¾Œã«å›žåŽã•ã‚ŒãŸãƒ‡ãƒã‚¤ã‚¹ãŒ 1 階ã«åˆ°ç€ã—ã¦ã‚¨ãƒ¬ãƒ™ãƒ¼ã‚¿ã‹ã‚‰é™ã‚ã•ã‚Œã‚‹ã¾ã§ã®æ™‚間を,å˜ä¸€ã®ç©ºç™½ã§åŒºåˆ‡ã£ã¦ 1 è¡Œã§å‡ºåŠ›ã—ãªã•ã„.ãŸã ã—,時間ã«ã¤ã„ã¦ã¯ï¼Œå°æ•°ç‚¹ä»¥ä¸‹ã«ä½•å€‹ã®æ•°å—を出力ã—ã¦ã‚‚構ã‚ãªã„ãŒï¼Œ0.001 を超ãˆã‚‹èª¤å·®ã‚’å«ã‚ã¦ã¯ãªã‚‰ãªã„.ã¾ãŸï¼Œ1 階ã«ã‚るデãƒã‚¤ã‚¹ä»¥å¤–ã¯å›žåŽã§ããªã‹ã£ãŸã¨ãã¯æ™‚é–“ã¨ã—ã¦ã‚¼ãƒã‚’出力ã—ãªã•ã„.
5 2 5000 10 20 0 30 5 10 1000 6 1 20 500 8 1 3 40 25 30 0 0
50 84.000