Splits CodeForces 964A

A. Splits

Let's define a split of n as a nonincreasing sequence of positive integers, the sum of which is n.

For example, the following sequences are splits of 8: [4, 4], [3, 3, 2], [2, 2, 1, 1, 1, 1], [5, 2, 1].

The following sequences aren't splits of 8: [1, 7], [5, 4], [11,  - 3], [1, 1, 4, 1, 1].

The weight of a split is the number of elements in the split that are equal to the first element. For example, the weight of the split [1, 1, 1, 1, 1] is 5, the weight of the split [5, 5, 3, 3, 3] is 2 and the weight of the split [9] equals 1.

For a given n, find out the number of different weights of its splits.

Input

The first line contains one integer n (1 ≤ n ≤ 109).

Output

Output one integer — the answer to the problem.

Examples
input
Copy
7
output
Copy
4
input
Copy
8
output
Copy
5
input
Copy
9
output
Copy
5
Note

In the first sample, there are following possible weights of splits of 7:

Weight 1: []

Weight 2: [, 1]

Weight 3: [, 1]

Weight 7: []

 由n分割成非增序列,第一個數的數量就是他的權重,求權重的個數有多少個。數學題,n/2+1

轉載自:https://www.cnblogs.com/xingkongyihao/p/8876780.html

結合大牛的博客,自己對改思路理解如下(可能不正確):

每一個整數N必有一個權重爲N (即N個1)的情況

每一個案例能達到的最大情況爲N/2

        證明:除去1,最小的正整數爲2,又因爲一個整數最多隻能分割出n/2 個2,所以權重最大爲n/2

                    權重爲1-n/2的情況都可以得出


#include <iostream>
using namespace std;

int main()
{
	int n,ans;
	while(cin>>n)
	{
		ans=1+n/2;
		cout<<ans<<endl;
	}
	return 0;
}  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章