ヒューリスティクスã¨ã„ã†è¨€è‘‰ãŒã‚る。確実ã«ã†ã¾ãã„ãã¨ã„ã†ä¿è¨¼ã¯ãªã„ã‘ã‚Œã©ã‚‚大抵ã®å ´åˆã¯ã†ã¾ãã„ãã€æ¯”較的å˜ç´”ãªã‚¢ãƒ—ãƒãƒ¼ãƒã®ã“ã¨ã 。å˜ç´”ã«ã—ã¦å¼·åŠ›ã§ã‚ã‚‹ãŒã‚†ãˆã«ã€ã“ã®ä¸–ã®ä¸ã¯å¤šãã®ãƒ’ューリスティクスã§æº€ã¡æº¢ã‚Œã¦ã„る。
ヒューリスティクスã®ä¸€ä¾‹ã¨ã—ã¦ã€ã“ã‚“ãªã‚‚ã®ãŒæŒ™ã’られる。アニメ番組ã«ãŠã„ã¦ã€ã‚ã‚‹ã‚ャラクターã®äººæ°—度ã¯ã€ãã®ã‚¢ãƒ‹ãƒ¡æœ¬ç·¨ä¸ã«ãŠã‘ã‚‹ç™»å ´æ™‚é–“ã®ç·å’Œã«æ¯”例ã™ã‚‹ã€‚確ã‹ã«ã“ã‚Œã¯å¤šãã®å ´åˆã«æˆã‚Šç«‹ã£ã¦ã„るよã†ã 。ã—ã‹ã—ã€ã©ã†ã‚„ら僕ã¯å°‘æ•°æ´¾ã«å±žã™ã‚‹ã‚‰ã—ã„。影ã®è–„ã„ã‚ャラã€èƒŒæ™¯ã«ã¡ã‚‰ã‚Šã¨æ˜ るモブã‚ャラãªã‚“ã‹ã«é™ã£ã¦å¯æ„›ã見ãˆãŸã‚Šã™ã‚‹ã®ã 。
自分ã®å¥½ããªã‚ャラã®ã“ã¨ã‚’ã€ä»–人ãŒã©ã†æ€ã£ã¦ã„よã†ãŒã„ã„ã˜ã‚ƒãªã„ã‹ã€‚ã¨ã¯è¨€ã£ã¦ã‚‰ã‚Œãªã„事情ãŒã€æ®‹å¿µãªãŒã‚‰ã‚る。関連商å“ã€ãƒ•ã‚£ã‚®ãƒ¥ã‚¢ã‚„ã‚ャラクターソングCDãªã©ã¯ã€äººæ°—ã®ã‚ã‚‹ã‚ャラã®ã‚‚ã®ã‹ã‚‰å„ªå…ˆçš„ã«ç™ºå£²ã•ã‚Œã‚‹å‚¾å‘ã«ã‚ã‚‹ã®ã 。商æ¥çš„ã«ã¯å½“然ã®é¸æŠžã ã¨ã¯ã„ãˆã€ä¸äººæ°—ã‚ャラã®ãƒ•ã‚¡ãƒ³ã®è‚©èº«ã¯ç‹ã„。
ãã“ã§é‡è¦ã¨ãªã£ã¦ãã‚‹ã®ãŒã€ã‚¢ãƒ‹ãƒ¡ç•ªçµ„ã®åˆ¶ä½œä¼šç¤¾ã«ã‚ˆã£ã¦è¡Œã‚れる人気投票ã§ã‚る。実際ã®äººæ°—ãŒã©ã†ã§ã‚ã‚Œã€ã“ã“ã§å¤šãã®ç¥¨ã‚’ç²å¾—ã™ã‚Œã°ã€é–¢é€£å•†å“ã¸ã®é“ãŒé–‹ã‹ã‚Œã‚‹ã®ã 。ã©ã‚“ãªæ‰‹æ®µã‚’使ã£ã¦ã‚‚票を集ã‚ãã°ãªã‚‹ã¾ã„。
厳æ£ãªã‚‹æŠ•ç¥¨ã®ãŸã‚ã«ã€ã‚る関連商å“ã‚’1ã¤è³¼å…¥ã™ã‚‹ãŸã³ã«1票ã®æŠ•ç¥¨æ¨©ãŒä¸Žãˆã‚‰ã‚Œã‚‹ã€‚ã“ã®ä»•çµ„を厳æ£ã¨å‘¼ã¶ã¹ãã‹ã©ã†ã‹ã¯ä»Šå¤§ããè°è«–ã•ã‚Œã¦ã„ã‚‹ãŒã€ã¨ã«ã‹ã僕㯠L 票ã®æŠ•ç¥¨æ¨©ã‚’å¾—ãŸã€‚投票ã®å¯¾è±¡ã¨ãªã‚‹ã‚ャラã¯å…¨éƒ¨ã§ N 人ã„ã¦ã€ã‚ˆã‚Šå¤šãã®ç¥¨ã‚’ç²å¾—ã—㟠K 人ã®ã‚ャラ (åŒç¥¨ã®å ´åˆã¯åå‰ã®è¾žæ›¸é †) ã®é–¢é€£å•†å“ãŒä¼ç”»ã•ã‚Œã‚‹ã“ã¨ã«ãªã‚‹ã€‚僕ã®å¥½ããªã‚ャラã¯å…¨éƒ¨ã§ M 人ã„ã¦ã€ãã®ä¸ã‹ã‚‰ã§ãã‚‹ã ã‘多ãã®ã‚ãƒ£ãƒ©ã‚’ä¸Šä½ K 人ã«å…¥ã‚ŒãŸã„ã¨æ€ã£ã¦ã„る。
僕ã¯ã¾ãšã€ãã‚Œãžã‚Œã®ã‚ャラãŒã©ã‚Œã ã‘ã®ç¥¨ã‚’ç²å¾—ã™ã‚‹ã‹ã‚’予測ã—ãŸ(難ã—ã„ã“ã¨ã§ã¯ãªã„。ã‚ã‚‹ã‚ャラクターã®äººæ°—度ã¯ã€ãã®ç™»å ´æ™‚é–“ã®ç·å’Œã«æ¯”例ã™ã‚‹ã¨ä»®å®šã—ãŸã ã‘ã )。ã“ã®äºˆæ¸¬ãŒæ£ã—ã„ã¨ã—ã¦ã€ã‚ˆã‚Šå¤šãã®åƒ•ã®å¥½ããªã‚ャラã®é–¢é€£å•†å“ãŒç™ºå£²ã•ã‚Œã‚‹ã‚ˆã†ã«ã™ã‚‹ãŸã‚ã«ã¯ã€åƒ•ã¯ã“ã® L 票を誰ã«ã©ã‚Œã ã‘投ã˜ã‚Œã°ã„ã„ã ã‚ã†ã‹ã€‚
入力ã¯è¤‡æ•°ã®ã‚±ãƒ¼ã‚¹ã‹ã‚‰ãªã‚‹ã€‚ å„ケースã¯ä»¥ä¸‹ã®ãƒ•ã‚©ãƒ¼ãƒžãƒƒãƒˆã§ä¸Žãˆã‚‰ã‚Œã‚‹ã€‚
N M K L name0 x0 . . . nameN-1 xN-1 fav0 . . . favM-1
Nã€Mã€Kã€Lã®æ„味ã¯å•é¡Œæ–‡ã«è¨˜ã•ã‚Œã¦ã„ã‚‹ã¨ãŠã‚Šã§ã‚る。
namei ã¯ã‚ャラクターã®åå‰ã€xi ã¯i 番目ã®ã‚ャラクターã®ç¥¨ã®ç·æ•°ã‚’表ã™ã€‚
favi ã¯ã‚ãªãŸãŒã²ã„ãã—ã¦ã„ã‚‹ã‚ャラクターã®åå‰ã‚’表ã™ã€‚ã“れらã®åå‰ã¯å¿…ãšç•°ãªã‚Šã€ã¾ãŸå¿…ãšã‚ャラクターã®åå‰ã®å…¥åŠ›ã®ä¸ã«å«ã¾ã‚Œã‚‹ã€‚
入力ã®çµ‚ã‚ã‚Šã¯N = 0 ã‹ã¤ M = 0 ã‹ã¤ K = 0 ã‹ã¤ L = 0ã‹ã‚‰ãªã‚‹è¡Œã«ã‚ˆã£ã¦ä¸Žãˆã‚‰ã‚Œã‚‹
ã¾ãŸå„値ã¯ä»¥ä¸‹ã®æ¡ä»¶ã‚’満ãŸã™
1 ≤ N ≤ 100,000
1 ≤ M ≤ N
1 ≤ K ≤ N
1 ≤ L ≤ 100,000,000
0 ≤ xi ≤ 100,000,000
nameiã¯ã‚¢ãƒ«ãƒ•ã‚¡ãƒ™ãƒƒãƒˆã®ã¿ã‚’å«ã¿ã€é•·ã•ã¯10æ–‡å—以下ã§ã‚る。
テストケースã®æ•°ã¯150を超ãˆãªã„。
ã¾ãŸ20,000 ≤ N ã¨ãªã‚‹ã‚±ãƒ¼ã‚¹ã®æ•°ã¯20を超ãˆãªã„ã“ã¨ãŒä¿è¨¼ã•ã‚Œã¦ã„る。
ジャッジデータã¯å¤§ãã„ã®ã§ã€é€Ÿã„入力を使ã†ã“ã¨ã‚’推奨ã™ã‚‹ã€‚
M 人ã®ã‚ャラã®ä¸ã‹ã‚‰æœ€å¤§ã§ä½•äººã‚’上ä½K 人ã«å…¥ã‚Œã‚‹ã“ã¨ãŒå‡ºæ¥ã‚‹ã‹ã‚’1è¡Œã§å‡ºåŠ›ã›ã‚ˆã€‚
4 1 3 4 yskwcnt 16 akzakr 7 tsnukk 12 fnmyi 13 akzakr 4 1 3 5 akzakr 7 tsnukk 12 fnmyi 13 yskwcnt 16 akzakr 4 2 2 1 akzakr 4 tsnukk 6 yskwcnt 6 fnmyi 12 akzakr fnmyi 5 2 3 28 knmmdk 6 skrkyk 14 tmemm 14 akmhmr 15 mksyk 25 knmmdk skrkyk 5 2 3 11 tmemm 12 skrkyk 18 knmmdk 21 mksyk 23 akmhmr 42 skrkyk tmemm 14 5 10 38 iormns 19 hbkgnh 23 yyitktk 31 rtkakzk 36 mmftm 43 ykhhgwr 65 hrkamm 66 ktrotns 67 mktkkc 68 mkhsi 69 azsmur 73 tknsj 73 amftm 81 chyksrg 88 mkhsi hbkgnh mktkkc yyitktk tknsj 14 5 10 38 mktkkc 24 rtkakzk 25 ykhhgwr 25 hrkamm 27 amftm 37 iormns 38 tknsj 38 yyitktk 39 hbkgnh 53 mmftm 53 chyksrg 63 ktrotns 63 azsmur 65 mkhsi 76 mkhsi hbkgnh mktkkc yyitktk tknsj 0 0 0 0
0 1 1 2 1 4 5
The University of Aizu Programming Contest 2011 Summer
原案: Tomoya Sakai
å•é¡Œæ–‡: Takashi Tayama