結果
問題 |
No.398 ハーフパイプ(2)
|
ユーザー |
![]() |
提出日時 | 2016-07-15 03:25:16 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 3 ms / 2,000 ms |
コード長 | 1,436 bytes |
コンパイル時間 | 1,511 ms |
コンパイル使用メモリ | 167,968 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-06-27 14:29:40 |
合計ジャッジ時間 | 2,355 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 17 |
ソースコード
#include <bits/stdc++.h> using namespace std; int main() { double x; cin >> x; int sum = (int)(x * 4 + 1e-9); 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 < 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; }