結果
問題 | No.398 ハーフパイプ(2) |
ユーザー |
![]() |
提出日時 | 2016-07-15 16:14:11 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 3 ms / 2,000 ms |
コード長 | 1,422 bytes |
コンパイル時間 | 567 ms |
コンパイル使用メモリ | 64,896 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-06-27 14:30:15 |
合計ジャッジ時間 | 1,492 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 17 |
ソースコード
#include <iostream> using namespace std; int main() { int a, b; scanf("%d.%d", &a, &b); int sum = (a * 100 + b) / 25; long long ans = 0; for (int i = 0; i < 101; ++i) { for (int j = i; j < 101; ++j) { for (int k = j; k < 101; ++k) { int l = sum - i - j - k; if (l < k) break; if (l > 100) continue; int m = 100 - l; if (i < j && j < k && k < l) ans += 180 + (i + m) * 360 + i * m * 720; else if (i == j && j < k && k < l) ans += 60 + i * 180 + m * 120 + i * m * 360; else if (i < j && j == k && k < l) ans += 90 + (i + m) * 180 + i * m * 360; else if (i < j && j < k && k == l) ans += 60 + i * 120 + m * 180 + i * m * 360; else if (i == j && j < k && k == l) ans += 20 + (i + m) * 60 + i * m * 180; else if (i == j && j == k && k < l) ans += 15 + i * 60 + m * 30 + i * m * 120; else if (i < j && j == k && k == l) ans += 15 + i * 30 + m * 60 + i * m * 120; else if (i == j && j == k && k == l) ans += 1 + (i + m) * 6 + i * m * 30; } } } cout << ans << "\n"; return 0; }