結果
問題 |
No.398 ハーフパイプ(2)
|
ユーザー |
![]() |
提出日時 | 2016-07-15 13:35:39 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 3 ms / 2,000 ms |
コード長 | 1,582 bytes |
コンパイル時間 | 540 ms |
コンパイル使用メモリ | 65,792 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-06-27 14:29:42 |
合計ジャッジ時間 | 1,164 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
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) { if (i * 4 > sum || i + 300 < sum) continue; for (int j = i; j < 101; ++j) { if (i + j * 3 > sum || i + j + 200 < sum) continue; for (int k = j; k < 101; ++k) { int l = sum - i - j - k; if (l < 0 || l > 100) continue; if (i < j && j < k && k < l) ans += 180 + (i + 100 - l) * 360 + i * (100 - l) * 720; if (i == j && j < k && k < l) ans += 60 + i * 180 + (100 - l) * 120 + i * (100 - l) * 360; if (i < j && j == k && k < l) ans += 90 + (i + 100 - l) * 180 + i * (100 - l) * 360; if (i < j && j < k && k == l) ans += 60 + i * 120 + (100 - l) * 180 + i * (100 - l) * 360; if (i == j && j < k && k == l) ans += 20 + (i + 100 - l) * 60 + i * (100 - l) * 180; if (i == j && j == k && k < l) ans += 15 + i * 60 + (100 - l) * 30 + i * (100 - l) * 120; if (i < j && j == k && k == l) ans += 15 + i * 30 + (100 - l) * 60 + i * (100 - l) * 120; if (i == j && j == k && k == l) ans += 1 + (i + 100 - l) * 6 + i * (100 - l) * 30; } } } cout << ans << "\n"; return 0; }