Login with GitHub. Nope?
修正 C++ 的程式碼在使用一定量動態記憶體後會產生 RF 的問題 @ 2019/12/6 4:45pm NeoHOJ 強勢復活中 (Open beta)
Submit  Ranklist

Problem : 320 - 手機特賣會

Problem Statistics

Solved Member: 27  Submission: 67  User Tried: 32

Statement:

為了慶祝 iPhone 5S 手機的上市,蓮霧公司在他們的最大直營店擺設了 n 台最新的 iPhone 5S 手機環繞整家直營店,希望在首賣日帶動買氣。殊不知,在首賣日前一天晚上,有 m 個競爭對手的死忠支持者因為不滿銷售量被 iPhone 系列的推出大受打擊,趁夜闖入蓮霧直營店,打算惡搞這些已經開機好正在展示動畫的 iPhone 。

但闖入後才發現,該店展示的 iPhone 數量實在太多,他們沒有時間去惡搞所有的iPhone,他們決定每人只挑部分手機下手:第 i 個人把第 ki, 2ki, 3ki, ... 隻手機倒置;如果手機是開機狀態就把它關機、如果手機是正放就把它倒放,反之亦然。

假設原本所有的 iPhone 全部都是正放且開機,請寫一隻程式去計算這些闖入者在結束他們的惡作劇後,究竟有幾台手機看起來是被惡搞過(過程不重要,只須以最後的狀態判斷即可)。

Input:Output:

第一行有兩個整數,n 和 m,並以空白分隔。n 代表 iPhone 的總數,而 m 代表有幾個入侵者。接下來是 m 行,每行一個數字,依序代表每個人惡作劇手機的間隔,即 k1, k2, k3, ... , km。

限制:
保證有30%的測試資料滿足:
1 ≤ n ≤ 200
1 ≤ m ≤ 200
1 ≤ ki ≤ n

保證所有的測試資料滿足:
1 ≤ n ≤ 300000
1 ≤ m ≤ 2000000
1 ≤ ki ≤ n
第一行輸出一整數,代表最後看起來被惡搞過的手機數量x。接下來輸出x行,每行按照由小到大的順序輸出被惡搞的手機編號。

Sample Input:Sample Output:

Sample #1:
7 2
2
3

Sample #2:
5 3
1
2
3
Sample #1:
3
2
3
4

Sample #2:
2
1
5

HINT:

Source:

102附中校內賽

Problem Setter

Testdata:

TestTimeMemoryScore
0-11000ms262144kb
0-21000ms262144kb
1-11000ms262144kb10
1-21000ms262144kb
2-11000ms262144kb10
2-21000ms262144kb
3-11000ms262144kb10
3-21000ms262144kb
3-31000ms262144kb
3-41000ms262144kb
4-11000ms262144kb10
4-21000ms262144kb
5-11000ms262144kb10
5-21000ms262144kb
6-11000ms262144kb10
6-21000ms262144kb
7-11000ms262144kb10
7-21000ms262144kb
7-31000ms262144kb
8-11000ms262144kb10
8-21000ms262144kb
8-31000ms262144kb
9-11000ms262144kb10
9-21000ms262144kb
9-31000ms262144kb
10-11000ms262144kb10
10-21000ms262144kb
10-31000ms262144kb