題目:https://toi-reg.csie.ntnu.edu.tw/question/201904/B1-LuckyDraw(Q).pdf
Facebook 粉絲團若想衝人氣、獲得高點閱率的話,最好的方式就是辦理贈獎活動。有些用心的粉絲團會挑選優秀的留言來給予獎品,但大部分的粉絲專頁都是採用隨機的抽獎方式。
已知某粉專採用的抽獎演算法步驟如下:
1、依照留言量 N 給定 N 個隨機數字。(範例 2 中 N 為 5。)
2、以這 N 個數字當中的最後一個數字 B 做為基數。(範例 2 中 B 為 2。)
3、找出索引值 1, 2, 3, …, N 之中除以基數 B 後餘數為 1 的索引值。(1, 2, …, 5 除以 2 後餘數為 1 的索引值為 1、3 和 5。)
4、索引值 1 對應到第一個隨機數字,索引值 N 對應到最後一個隨機數字,將上 一步驟找出的索引值對應到之隨機數字加總。(範例 2 中索引值 1、3 和 5 對應的隨機數字和為 20 + 7 + 2 = 29。)
5、將此加總後之數字除以留言量 N 所得餘數 M,第 M 則留言即為中獎留言。若 M 為 0 則以最後一則留言中獎。(29 除 5 的餘數為 4。)
總共輸入兩行,第一行輸入一個正整數 N ( 3 ≤ N ≤ 10,000 ),表示共有幾則 留言;第二行輸入 N 個整數 ri (1 ≤i ≤N),代表粉絲專頁給定之隨機值 ( 2 ≤ ri ≤ 1,000 )。
共輸出兩個正整數,以空白區隔,第一個正整數 M ( 1 ≤ M ≤ N ),代表中獎 留言之索引值,第二個數則為此索引值對應到之隨機數。
3 1000 100 10
1 1000
5 20 50 7 100 2
4 100
10 12 11 10 9 8 7 6 5 4 3
10 3