Codeforces1327A. Sum of Odd Integers

tech2025-01-12  8

You are given two integers 𝑛 and 𝑘. Your task is to find if 𝑛 can be represented as a sum of 𝑘 distinct positive odd (not divisible by 2) integers or not.

You have to answer 𝑡 independent test cases.

Input The first line of the input contains one integer 𝑡 (1≤𝑡≤105) — the number of test cases.

The next 𝑡 lines describe test cases. The only line of the test case contains two integers 𝑛 and 𝑘 (1≤𝑛,𝑘≤107).

Output For each test case, print the answer — “YES” (without quotes) if 𝑛 can be represented as a sum of 𝑘 distinct positive odd (not divisible by 2) integers and “NO” otherwise.

Example inputCopy 6 3 1 4 2 10 3 10 2 16 4 16 5 outputCopy YES YES NO YES YES NO Note In the first test case, you can represent 3 as 3.

In the second test case, the only way to represent 4 is 1+3.

In the third test case, you cannot represent 10 as the sum of three distinct positive odd integers.

In the fourth test case, you can represent 10 as 3+7, for example.

In the fifth test case, you can represent 16 as 1+3+5+7.

In the sixth test case, you cannot represent 16 as the sum of five distinct positive odd integers.

#include<cstdio> #include<cstring> #include<algorithm> #include<vector> #include<set> #include<map> #include<queue> using namespace std; typedef long long ll; const int maxn = 2e5 + 7; const int mod = 998244353; int a[maxn],vis[maxn]; int main() { int T;scanf("%d",&T); while(T--) { int n,k;scanf("%d%d",&n,&k); if(n % 2 == k % 2 && 1ll * n >= 1ll * (1 + k * 2 - 1) * k / 2) { printf("YES\n"); } else { printf("NO\n"); } } return 0; }
最新回复(0)