Educational Codeforces Round 84 (Rated for Div. 2) 比赛人数13522
[codeforces 1327A] Sum of Odd Integers 公式推导+奇偶判定
总目录详见https://blog.csdn.net/mrcrack/article/details/103564004
也在线测评地址https://codeforces.ml/contest/1327/problem/A
Problem | Lang | Verdict | Time | Memory |
---|---|---|---|---|
A - Sum of Odd Integers | GNU C++11 | Accepted | 61 ms | 0 KB |
K个不同奇数的最小和值推导
1+3+5+......+(2*K-1)
=(1+(2*K-1))*K/2
=K*K
该题最为重要的一个判定就是,和值必须大于等于K*K,否则,输出NO
接下来判定,就较为容易,及判定,K个奇数和的奇偶性,n的奇偶性,两者是否相同。
AC代码如下
#include <stdio.h>
#define LL long long
int main(){
int t;
LL n,k;
scanf("%d",&t);
while(t--){
scanf("%lld%lld",&n,&k);
if(n<k*k){
printf("NO\n");
}else{
if(k%2==0){
if(n%2==0){
printf("YES\n");
}else printf("NO\n");
}else{
if(n%2==0){
printf("NO\n");
}else printf("YES\n");
}
}
}
return 0;
}