Codeforces Round #749 (Div.1+Div.2)A-D题解
A. Windblume Ode 题意:就是从n个数里面挑p(要求最大)个数的和为合数,输出所挑选的数的下标,顺序随便 思路:p的可能值只有n or n-1,如果所有加起来的和为合数,输出n,否则,在奇数中挑一个数减去,使得和为合数, 证明:假设偶数有a个,奇数有b个,a个偶数相加肯定为合数, (1)如果b是偶数,则奇数可以两两配对,所以最后的和为偶数,肯定为合数 (2)如果b为奇数,那么最后的和可能为合数,可能不是,如果不是,和肯定为奇数,所以需要减去一个奇数,使得和为合数 代码
#include
using namespace std;
typedef long long ll;
typedef pair
typedef pair
const int inf=0x3f3f3f3f;
const int maxn=1
共有 0 条评论