Official
D - 立方体を壊せ! Editorial by kaage
- \(0\leq K\leq N\) の場合 \(K^3\)
- \(N\leq K\leq 2N\) の場合 \(K^3-3(K-N)^3\)
- \(2N\leq K\leq 3N\) の場合 \(6N^3-(3N-K)^3\)
- \(3N\leq K\) の場合 \(6N^3\)
が答えとなります。 次のようなコードを書けば良いです。
#include <iostream>
using lint = long long int;
int main() {
lint N, K;
std::cin >> N >> K;
if (K <= N)
std::cout << K * K * K << std::endl;
else if (K <= 2 * N)
std::cout << K * K * K - 3 * (K - N) * (K - N) * (K - N) << std::endl;
else if (K <= 3 * N)
std::cout << 6 * N * N * N - (3 * N - K) * (3 * N - K) * (3 * N - K) << std::endl;
else
std::cout << 6 * N * N * N << std::endl;
}
posted:
last update: