Codeforces Round #749 (Div. 1 + Div. 2, based on Technocup 2022 Elimination Round 1)
A. Windblume Ode 题意是给你一个数组。然后要你求得一个子序列,这个子序列每个数的和是一个合数,并且是该数组能得到的最大的合数。输出这个子序列中每个元素的下标。
一开始看到这个题目的n的要求是大于等于3,又是求合数。想到3个数相加,如果是奇数,那么肯定有一个数是奇数,减去这个奇数就可以得到一个偶数。如果和是偶数,那么一定是合数。 3个数以上也是一样的。所以可以只删去一个数就可以使这个和从素数变成合数。 所以就先求得所有数的和,先判断和是不是合数。如果不是。 然后从小到大遍历一下删去这个数是否是合数即可。
#include
using namespace std;
#define ll long long
#define endl '/n'
const int inf = 0x3f3f3f3f;
const int MAXN = 1e5 + 10;
int n,
Codeforces Round #749 (Div. 1 + Div. 2, based on Technocup 2022 Elimination Round 1)最先出现在Python成神之路。
共有 0 条评论