A993.Stone Game--Gold
普及+/提高
USACO
通过率:0%
时间限制:1.00s
内存限制:128MB
题目描述
Bessie and Elsie are playing a game with N (1≤N≤105) piles of
stones, where the i-th pile has ai stones for each 1≤i≤N (1≤ai≤106). The two cows alternate turns, with Bessie going first.
- First, Bessie chooses some positive integer s1 and removes s1 stones from some pile with at least s1 stones.
- Then Elsie chooses some positive integer s2 such that s1 divides s2 and removes s2 stones from some pile with at least s2 stones.
- Then Bessie chooses some positive integer s3 such that s2 divides s3 and removes s3 stones from some pile with at least s3 stones and so on.
- In general, si, the number of stones removed on turn i, must divide si+1.
The first cow who is unable to remove stones on her turn loses.
Compute the number of ways Bessie can remove stones on her first turn in order
to guarantee a win (meaning that there exists a strategy such that Bessie wins
regardless of what choices Elsie makes). Two ways of removing stones are
considered to be different if they remove a different number of stones or they
remove stones from different piles.
输入格式
The first line contains N.
The second line contains N space-separated integers a1,…,aN.
输出格式
Print the number of ways Bessie can remove stones on her first turn in order
to guarantee a win.
Note that the large size of integers involved in this problem may require the
use of 64-bit integer data types (e.g., a "long long" in C/C++).
输入输出样例
输入#1
1 7
输出#1
4
说明/提示
Bessie wins if she removes 4, 5, 6, or 7 stones from the only pile.
Then the game terminates immediately.