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

Problem : 245 - Mean Sequence

Problem Statistics

Solved Member: 27  Submission: 75  User Tried: 27

Statement:

給定一個非遞減整數數列 s1, ... , sn+1 (si ≤ si+1,1 ≤ i ≤ n),則由該數列所定義之中間數列 (mean sequence)為 m1, ... , mn,mi=(si + si+1) / 2,1 ≤ i ≤ n。例如1, 2, 2, 4數列的中間值數列為1.5, 2, 3。請注意,雖然中間值數列中的值有可能是小數,但是在本題中,中間值數列的值都將是整數。

給定一個有n個整數的非遞減數列m1, ... , mn,請計算共有幾組n+1個整數的非遞減數列s1, ... , sn+1能產生該m1, ... , mn中間值數列。

Task:

請寫一個程式來:
•從標準輸入讀入一組非遞減整數數列。
•計算共有幾組非遞減數列其中間值數恰為上述非遞減整數數列。
•將答案輸出至標準輸出。

Input:Output:

輸入的第一行為一整數n ( 2 ≤ n ≤ 5000000 )。接下來的n行定義該m1, ... , mn數列,數列中的mi ( 0 ≤ mi ≤ 1 000 000 000 )出現在第i+1行。

你可以假設50%的測試資料中,n ≤ 1000且0 ≤ mi ≤ 20000。
你的程式應該只輸出一個整數至標準輸出,即共有幾組非遞減數列可產生輸入資料中所給的中間值數列。

Sample Input:Sample Output:

3
2
5
9
4

Source:

IOI 2005

Problem Setter

Testdata:

TestTimeMemoryScore
01000ms16384kb
1-11000ms16384kb5
1-21000ms16384kb
21000ms16384kb5
3-11000ms16384kb5
3-21000ms16384kb
41000ms16384kb5
5-11000ms16384kb5
5-21000ms16384kb
6-11000ms16384kb5
6-21000ms16384kb
71000ms16384kb5
81000ms16384kb5
9-11000ms16384kb5
9-21000ms16384kb
10-11000ms16384kb5
10-21000ms16384kb
11-15000ms16384kb5
11-25000ms16384kb
12-15000ms16384kb5
12-25000ms16384kb
135000ms16384kb5
145000ms16384kb5
15-15000ms16384kb5
15-25000ms16384kb
16-15000ms16384kb5
16-25000ms16384kb
175000ms16384kb5
185000ms16384kb5
19-15000ms16384kb5
19-25000ms16384kb
205000ms16384kb5