1 solutions
-
0
我们可以枚举 和 ,然后计算 是否在 范围内,不过这样的时间复杂度是
我们枚举 ,然后 的范围就是
即 , 此时哪些 可以让 在 的范围内呢?
即 , 同时
所以我们枚举 , 这样使得 也合法的 的所在区间是 , 每次枚举 计算一下这个区间元素即可
#include <bits/stdc++.h> #define int long long using namespace std; int k, s, num = 0; signed main() { cin >> k >> s; for (int x = 0; x <= k; x++) { int a = max(0LL, s - x - k); int b = min(k, s - x); if (a <= b) num += (b - a + 1); } cout << num; return 0; }
- 1
Information
- ID
- 614
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 9
- Tags
- (None)
- # Submissions
- 95
- Accepted
- 5
- Uploaded By