僕ã«ã¯ã€ãŸãã•ã‚“ã®å‹é”ãŒã„る。ã©ã®å‹é”ã‚‚ã€ã¨ã¦ã‚‚å°ã•ã„。
僕ã¯ã€ã‚ˆãå‹é”ã¨ä¸€ç·’ã«å‡ºã‹ã‘る。何人ã‹ã®å‹é”をリュックã«å…¥ã‚Œã¦ã€ä¸€ç·’ã«å‡ºã‹ã‘る。
僕ã¯æ¯Žæœã€ãã®æ—¥ä¸€ç·’ã«å‡ºã‹ã‘ã‚‹å‹é”を決ã‚る。空ã®ãƒªãƒ¥ãƒƒã‚¯ã«ã€ï¼‘人ãšã¤å‹é”を入れã¦ã„ã。
僕ã¯ã€ã‚ã¾ã‚ŠåŠ›ãŒå¼·ããªã„。ã ã‹ã‚‰ã€åŒæ™‚ã«é‹ã¹ã‚‹å‹é”ã®é‡ã•ã«ã¯é™ç•ŒãŒã‚る。
僕ã¯ã€é‡ã•ã®é™ç•Œã‚’超ãˆãªã„よã†ã«å‹é”を入れã¦ã„ã。ã©ã®é †ç•ªã§å…¥ã‚Œã¦ã„ãã‹ã¯æ°—分次第。
僕ã¯ã€å…¥ã‚Œã‚‰ã‚Œã‚‹å‹é”ãŒã¾ã 残ã£ã¦ã„ã‚‹é™ã‚Šã€å…¥ã‚Œã‚‹ã®ã‚’æ¢ã‚ãªã„。決ã—ã¦æ¢ã‚ãªã„。
……ã¨ã“ã‚ã§ã€ãƒªãƒ¥ãƒƒã‚¯ã«å…¥ã£ãŸå‹é”ã®çµ„ã¿åˆã‚ã›ã¯ã€å…¨éƒ¨ã§ä½•ãƒ‘ターンã‚ã‚‹ã‚“ã ã‚ã†ï¼Ÿ
N W
w1
w2
.
.
.
wn
入力ã®ï¼‘行目ã«ã¯ã€æ•´æ•°N(1 ≤ N ≤ 200)ã¨æ•´æ•°W(1 ≤ W ≤ 10,000)ãŒã€ã“ã®é †ã«ç©ºç™½åŒºåˆ‡ã‚Šã§æ›¸ã‹ã‚Œã¦ã„る。整数N ã¯å‹é”ã®æ•°ã‚’ã€æ•´æ•°W ã¯åŒæ™‚ã«é‹ã¹ã‚‹é‡ã•ã®é™ç•Œã‚’ã‚らã‚ã™ã€‚é‡ã•ã®åˆè¨ˆãŒW より大ãã„ã¨é‹ã¶ã“ã¨ã¯ã§ããªã„。
続ãN è¡Œã«ã¯ã€å‹é”ã®é‡ã•ã‚’ã‚らã‚ã™æ•´æ•°ãŒæ›¸ã‹ã‚Œã¦ã„る。整数wi(1 ≤ wi ≤ 10,000)ãŒã€i 番目ã®å‹é”ã®é‡ã•ã‚’ã‚らã‚ã™ã€‚
最終的ã«ãƒªãƒ¥ãƒƒã‚¯ã«å…¥ã£ã¦ã„ã‚‹å‹é”ã®çµ„ã¿åˆã‚ã›ã¯ä½•é€šã‚Šè€ƒãˆã‚‰ã‚Œã‚‹ã‹ã€‚ãã®ç·æ•°ã‚’1,000,000,007 ã§å‰²ã£ãŸä½™ã‚Šã‚’出力ã›ã‚ˆã€‚ãªãŠ1,000,000,007 ã¯ç´ æ•°ã§ã‚る。
「誰もリュックã«å…¥ã£ã¦ã„ãªã„ã€ã‚‚1通りã¨ã—ã¦æ•°ãˆã‚‹ã“ã¨ã«æ³¨æ„ã›ã‚ˆã€‚
4 8 1 2 7 9
2
4 25 20 15 20 15
4
6 37 5 9 13 18 26 33
6