COCI '17 Contest 3 #6 Sažetak

View as PDF

Submit solution

Points: 20 (partial)
Time limit: 0.5s
Memory limit: 64M

Problem type

An unknown array x consists of N integers. The K-summary of that array is obtained by dividing the array into segments of length K and summing up the elements in each segment. If N is not divisible by K, the last segment of the division will have less than K elements.

In other words, the K-summary is an array where the elements are, respectively: x[1] + \dots + x[K], x[K+1] + \dots + x[2K], and so on, where the last sum that contains x[N] can have less than K summands. For example, the 5-summary of an array of 13 elements has 3 elements (sum of elements 1.-5., sum of elements 6.-10., sum of elements 11.-13.).

It is clear that we cannot reconstruct the elements of the original array from the K-summary, but that might be possible if we knew several K-summaries for different Ks. Write a program that will, given length N and set K_1, K_2, \dots, K_M, predict how many elements of the original array we would be able to uniquely determine if we knew all the K_i-summaries of the array. (It is not difficult to show that the number of reconstructed elements is independent of the content of the summaries.)

Input Specification

The first line contains the integers N and M (3 \le N \le 10^9, 1 \le M \le 10), the array length and the number of K-summaries.

The second line contains distinct integers K_1, K_2, \dots, K_M (2 \le K_i < N) from the task.

Output Specification

You must output the required number of reconstructed elements.

Scoring

In test cases worth 40\% of total points, it will hold N \le 5\,000\,000.

Sample Input 1

3 1
2

Sample Output 1

1

Explanation for Sample Output 1

We can determine one element: x[3].

Sample Input 2

6 2
2 3

Sample Output 2

2

Explanation for Sample Output 2

We can determine x[3] and x[4].

Sample Input 3

123456789 3
5 6 9

Sample Output 3

10973937

Comments

There are no comments at the moment.