codeforces A. Sum of Odd Integers

Sophia ·
更新时间:2024-09-20
· 845 次阅读

在这里插入图片描述

题目 题意:

有kkk个奇数,问最后是否有可能和为nnn。

思路:

其实这道题只有两种是不可能,第一种是一个偶数一个奇数,因为两个奇数相加为偶数,那么在333个奇数下怎么能得出偶数,444个奇数也得不出奇数,第二种就是nnn个奇数相加最小值大于nnn。如果不属于这两种情况,那么肯定是可以的,因为这些奇数可以合成任一的数字,比如181818,我们可以分成1,3,5,91,3,5,91,3,5,9,在18一下,我们可以得到111~161616的任何数字,那么最后肯定可以得到181818的。

#include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; typedef vector vec; typedef pair pii; template inline void read(T &ret) { char c; int sgn; if (c = getchar(), c == EOF) return ; while (c != '-' && (c '9')) c = getchar(); sgn = (c == '-') ? -1:1; ret = (c == '-') ? 0:(c - '0'); while (c = getchar(), c >= '0' && c 9) out(x / 10); putchar(x % 10 + '0'); } int main() { int n, k, t; read(t); while (t--) { read(n), read(k); if (n % 2 != k % 2) printf("NO\n"); else if (1ll * k * k > n) printf("NO\n"); else printf("YES\n"); } }
作者:忘梦心



CodeForces sum

需要 登录 后方可回复, 如果你还没有账号请 注册新账号