提出 #20381325
ソースコード 拡げる
#include <bits/stdc++.h>
using namespace std;
int main(void) {
long long K;
cin >> K;
long long ans = 0;
//A <= B <= Cのものだけ求める
for(long long C = 1; C <= K; ++C) {
long long K0 = min(K / C, C);
for(long long B = 1; B <= K0; ++B) {
long long K1 = min(K / (B * C), B);
if(B == C) {
if(K1 == B) {//A <= B == C
ans += 3 * (K1 - 1) + 1;
} else {//A < B == C
ans += 3 * K1;
}
} else {
if(K1 == B) {//A <= B < C
ans += 6 * (K1 - 1) + 3;
} else {//A < B < C
ans += 6 * K1;
}
}
}
}
cout << ans << '\n';
return 0;
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | A - A*B*C |
| ユーザ | waidotto |
| 言語 | C++ (GCC 9.2.1) |
| 得点 | 300 |
| コード長 | 626 Byte |
| 結果 | AC |
| 実行時間 | 24 ms |
| メモリ | 3636 KiB |
ジャッジ結果
| セット名 | Sample | All | ||||
|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 300 / 300 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | s1.txt, s2.txt, s3.txt |
| All | 01.txt, 02.txt, 03.txt, 04.txt, 05.txt, 06.txt, 07.txt, s1.txt, s2.txt, s3.txt |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| 01.txt | AC | 24 ms | 3624 KiB |
| 02.txt | AC | 20 ms | 3444 KiB |
| 03.txt | AC | 15 ms | 3564 KiB |
| 04.txt | AC | 7 ms | 3404 KiB |
| 05.txt | AC | 2 ms | 3568 KiB |
| 06.txt | AC | 2 ms | 3396 KiB |
| 07.txt | AC | 23 ms | 3636 KiB |
| s1.txt | AC | 2 ms | 3584 KiB |
| s2.txt | AC | 2 ms | 3592 KiB |
| s3.txt | AC | 6 ms | 3524 KiB |