atcoder#ARC128F. [ARC128F] Game against Robot
[ARC128F] Game against Robot
配点 : 点
問題文
から までの番号のついた 枚のカードがあり,カード には整数 が書かれています. なお, は偶数です.
すぬけくんとロボットがゲームをします. ゲームは,以下のように進行します.
- ゲームマスターが の順列 を宣言する. この順列はすぬけくんとロボット両方に知らされる.
- その後,すぬけくんからはじめて,両者が交互に手番をプレイする.
各手番では以下のことが起こる.- すぬけくんの手番: 残っているカードの中から好きなものを一つ選び,食べる.
- ロボットの手番: 残っているカードのうち, が最大となるカード を選び,燃やす.
- すぬけくんの手番: 残っているカードの中から好きなものを一つ選び,食べる.
- ロボットの手番: 残っているカードのうち, が最大となるカード を選び,燃やす.
- カードがなくなったらゲームは終了する.
最終的なゲームのスコアは,すぬけくんが食べたカードに書かれた整数の総和です. すぬけくんは,ゲームのスコアを最大化するように最適な行動をします.
順列 は 通り考えられますが,これらすべてについてゲームのスコアを求め,その総和を で割った余りを求めてください.
制約
- は偶数
- 入力される値はすべて整数である
入力
入力は以下の形式で標準入力から与えられる.
出力
答えを出力せよ.
2
1 2
4
順列 に依らず,すぬけくんはカード を食べます.
4
1 100 10000 1000000
24200400
例えば であるとき,ゲームは以下のように進行します.
- すぬけくんがカード を食べる.
- ロボットがカード を燃やす.
- すぬけくんがカード を食べる.
- ロボットがカード を燃やす.
このとき,ゲームのスコアは になります.
10
866111664 178537096 844917655 218662351 383133839 231371336 353498483 865935868 472381277 579910117
710984634