åŒåã®ã‚¢ãƒŸã¨ãƒžãƒŸãŒé€šã†å¦æ ¡ã§ã¯æ—©ãã‚‚å¤ä¼‘ã¿ã«çªå…¥ã—,今年もãŠã³ãŸã ã—ã„é‡ã®å®¿é¡ŒãŒå‡ºã•ã‚ŒãŸï¼Ž ã—ã‹ã—,éŠã³ç››ã‚Šã®2人ã¯ä»Šæ—¥ã‚‚宿題ã«ã¯ä¸€åˆ‡æ‰‹ã‚’ã¤ã‘ãšã«å¤–ã¸éŠã³ã«è¡Œã“ã†ã¨ã—ã¦ã„ãŸï¼Ž ã“ã®ã¾ã¾ã§ã¯å¤ä¼‘ã¿æœ€çµ‚æ—¥ã«æ³£ãを見るã®ã¯æ˜Žã‚‰ã‹ãªã®ã§ï¼Œä¿è·è€…å½¹ã®ã‚ãªãŸã¯ï¼Œå¿ƒã‚’鬼ã«ã—ã¦ä»Šæ—¥ã¯èªæ›¸æ„Ÿæƒ³æ–‡ã®å®¿é¡ŒãŒçµ‚ã‚ã‚‹ã¾ã§2人を家ã‹ã‚‰å‡ºã•ãªã„ã“ã¨ã«ã—ãŸï¼Ž
準備ã®è‰¯ã„ã‚ãªãŸã¯æ—¢ã«å›³æ›¸é¤¨ã‹ã‚‰å…¨ã¦ã®èª²é¡Œå›³æ›¸ã‚’借りã¦ã‚る. ãŸã ã—,図書館ã®è¦å‰‡ã«ã‚ˆã‚Šå„本ã¯1冊ãšã¤ã—ã‹å€Ÿã‚Šã‚‰ã‚Œã¦ã„ãªã„. ã•ã¦ï¼Œæ•™è‚²ä¸Šã®ç†ç”±ã‹ã‚‰2人ã«ã¯äº’ã„ã«å”力ã™ã‚‹ã“ã¨ãªã,ãã‚Œãžã‚Œå…¨ã¦ã®æœ¬ã‚’èªã¿ï¼Œæ„Ÿæƒ³ã‚’書ã„ã¦ã‚‚らã†äº‹ã«ã—ãŸï¼Ž åŠ ãˆã¦ï¼Œæœ¬ã®è¿”å´æœŸé™ãŒè¿‘ã„ãŸã‚,ã¾ãšã¯ãªã‚‹ã¹ãæ—©ãã™ã¹ã¦ã®æœ¬ã‚’èªã¿çµ‚ãˆã‚‹ã‚ˆã†ã«ã—ã¦ã‚‚らã†äº‹ã«ã—ãŸï¼Ž ãã—ã¦ï¼Œã‚ãªãŸã¯ãã®æ¡ä»¶ä¸‹ã§ãªã‚‹ã¹ãæ—©ã宿題ãŒçµ‚ã‚るよã†ãªå®¿é¡Œã®é€²ã‚方を考ãˆã‚‹ã“ã¨ã«ã—ãŸï¼Ž ã“ã“ã§ï¼Œæœ¬ã‚’èªã¿çµ‚ãˆãŸæ™‚間,宿題を終ãˆãŸæ™‚é–“ã¯ï¼Œãã‚Œãžã‚ŒåŒåã®ä¸¡æ–¹ãŒä½œæ¥ã‚’終ãˆãŸæ™‚é–“ã§è€ƒãˆã‚‹ï¼Ž
å„本ã¯1冊ãšã¤ã—ã‹ãªã„ãŸã‚,2人ãŒåŒæ™‚刻ã«åŒã˜æœ¬ã‚’èªã‚€ã“ã¨ã¯ã§ããªã„. åŠ ãˆã¦ï¼Œå¤§äººã®äº‹æƒ…ã«ã‚ˆã‚Šï¼Œã‚る本をèªã¿å§‹ã‚ãŸã‚‰ãれをä¸æ–ã™ã‚‹äº‹ã¯ã§ããšï¼Œã‚る本ã«ã¤ã„ã¦ã®æ„Ÿæƒ³æ–‡ã‚’書ã始ã‚ãŸã‚‰ãれをä¸æ–ã™ã‚‹ã“ã¨ã‚‚ã§ããªã„. 当然ãªãŒã‚‰ï¼Œèªã‚“ã§ã„ãªã„本ã«ã¤ã„ã¦æ„Ÿæƒ³ã‚’書ãã“ã¨ã‚‚ã§ããªã„. ãªãŠï¼Œã‚¢ãƒŸã¨ãƒžãƒŸã¯åŒåã§ã‚ã‚‹ãŸã‚,å„本ã«ã¤ã„ã¦èªã‚€ã®ã«ã‹ã‹ã‚‹æ™‚間,感想文を書ãã®ã«ã‹ã‹ã‚‹æ™‚é–“ã¯2人ã§å…±é€šã—ã¦ã„る.
例ãˆã°ï¼Œ3冊ã®æœ¬ãŒã‚り,ãã‚Œãžã‚Œæœ¬ã‚’èªã‚€ã®ã«ã‹ã‹ã‚‹æ™‚間,感想文を書ãã®ã«ã‹ã‹ã‚‹æ™‚é–“ãŒä»¥ä¸‹ã®é€šã‚Šã§ã‚ã‚‹ã¨ã™ã‚‹ï¼Ž
本をèªã‚€æ™‚é–“ | 感想文を書ã時間 | |
本1 | 5 | 3 |
本2 | 1 | 2 |
本3 | 1 | 2 |
ã“ã®å ´åˆã¯ï¼Œå›³C-1ã®ã‚ˆã†ã«å®¿é¡Œã‚’進ã‚ã‚‹ã¨ï¼Œæ™‚é–“10ã§å…¨ã¦ã®æœ¬ã‚’èªã¿çµ‚ãˆï¼Œæ™‚é–“15ã§å®¿é¡Œã‚’終ãˆã‚‹äº‹ãŒã§ãる. 図C-2ã®é€²ã‚æ–¹ã§ã¯æ™‚é–“14ã§å®¿é¡Œã‚’終ãˆã¦ã„ã‚‹ãŒï¼Œæœ¬ã‚’èªã¿çµ‚ãˆã‚‹æ™‚é–“ãŒæœ€çŸã§ãªã„ãŸã‚,今回ã¯æŽ¡ç”¨ã§ããªã„. ã¾ãŸï¼Œå›³C-3ã®ã‚ˆã†ã«2人ãŒåŒæ™‚ã«åŒã˜æœ¬ã‚’èªã‚“ã り, 図C-4ã®ã‚ˆã†ã«æœ¬ã‚’èªã‚€ã®ã‚’ä¸æ–ã—ãŸã‚Šï¼Œèªã‚“ã§ã„ãªã„本ã®æ„Ÿæƒ³ã‚’書ã事もã§ããªã„.
図 C-1: 最çŸã§å®¿é¡Œã‚’終ã‚らã›ã‚‹é€²ã‚æ–¹ã®ä¾‹
図 C-2: 本をèªã¿çµ‚ãˆã‚‹æ™‚é–“ãŒæœ€çŸã§ãªã„例
図 C-3: 2人ãŒåŒæ™‚ã«åŒã˜æœ¬ã‚’èªã‚“ã§ã—ã¾ã£ã¦ã„る例
図 C-4: èªã‚“ã§ã„ãªã„本ã®æ„Ÿæƒ³ã‚’書ã„ãŸã‚Šï¼Œä½œæ¥ã‚’ä¸æ–ã—ãŸã‚Šã—ã¦ã„る例
様々ãªå¤§äººã®äº‹æƒ…を考慮ã—ã¤ã¤ï¼ŒéŠã³ã«è¡ŒããŸãŒã£ã¦ã„ã‚‹åŒåã®ãŸã‚ã«ãªã‚‹ã¹ãæ—©ã宿題ãŒçµ‚ã‚るよã†ãªé€²ã‚方を考ãˆã¦ã‚ã’よã†ï¼Ž
入力ã¯è¤‡æ•°ã®ãƒ‡ãƒ¼ã‚¿ã‚»ãƒƒãƒˆã‹ã‚‰æ§‹æˆã•ã‚Œã‚‹ï¼Žå„データセットã®å½¢å¼ã¯æ¬¡ã®é€šã‚Šã§ã‚る.
N r1 w1 r2 w2 ... rN wN
Nã¯èª²é¡Œå›³æ›¸ã®æ•°ã‚’表ã™æ•´æ•°ã§ã‚り,1以上1,000以下ã¨ä»®å®šã—ã¦è‰¯ã„.
続ãNè¡Œã¯èª²é¡Œå›³æ›¸ã«ã¤ã„ã¦ã®æƒ…å ±ã‚’è¡¨ã™ï¼Ž å„è¡Œã¯ã‚¹ãƒšãƒ¼ã‚¹ã§åŒºåˆ‡ã‚‰ã‚ŒãŸ2ã¤ã®æ•´æ•°ã‚’å«ã¿ï¼Œri (1 ≤ ri ≤ 1,000) 㯠i 番目ã®æœ¬ã‚’èªã‚€ã®ã«ã‹ã‹ã‚‹æ™‚間,wi (1 ≤ wi ≤ 1,000) 㯠i 番目ã®æœ¬ã®æ„Ÿæƒ³æ–‡ã‚’書ãã®ã«ã‹ã‹ã‚‹æ™‚間を表ã™ï¼Ž
N=0 ã¯å…¥åŠ›ã®çµ‚ã‚りを示ã™ï¼Ž ã“ã‚Œã¯ãƒ‡ãƒ¼ã‚¿ã‚»ãƒƒãƒˆã«ã¯å«ã‚ãªã„.
å„データセットã«ã¤ã„ã¦ï¼Œ2人ãŒå…¨ã¦ã®æœ¬ã‚’èªã¿çµ‚ãˆã‚‹ã¾ã§ã®æ™‚間を最å°ã«ã—ãŸã¨ãã®ï¼Œå…¨ã¦ã®æ„Ÿæƒ³æ–‡ã‚’書ã終ãˆã‚‹ã¾ã§ã®æœ€å°ã®æ™‚é–“ã‚’1è¡Œã«å‡ºåŠ›ã—ãªã•ã„.
4 1 1 3 1 4 1 2 1 3 5 3 1 2 1 2 1 1000 1000 10 5 62 10 68 15 72 20 73 25 75 30 77 35 79 40 82 45 100 815 283 6 74 78 53 55 77 77 12 13 39 42 1 1 0
14 15 3000 2013 522