题目内容
整数 1 ~ n ,计算选择 k 个数最多能获得多少积分。
计分规则:初始积分为 0,对于被选取的整数 i ,如果 i+1 没选,则积分加 1 。
思路
对于奇数偶数分开讨论
1.n是奇数的情况如果优先选择奇数可以获得(n+1)/2个积分,偶数则是(n-1)/2个积分,那么我们优先填奇数,如果还有剩余的数则都是减回去的。
2.n是偶数的情况优先奇数优先偶数都是一样的,假设我们优先选择偶数,那么剩余的数-1则是需要减回去的(因为再选择1的话不会导致积分变少)
详细实现看代码
#include <bits/stdc++.h>