結果
問題 | No.2510 Six Cube Sum Counting |
ユーザー |
![]() |
提出日時 | 2023-10-20 21:35:13 |
言語 | C++17(gcc12) (gcc 12.3.0 + boost 1.87.0) |
結果 |
TLE
|
実行時間 | - |
コード長 | 683 bytes |
コンパイル時間 | 6,644 ms |
コンパイル使用メモリ | 264,596 KB |
最終ジャッジ日時 | 2025-02-17 08:41:04 |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | TLE * 1 -- * 3 |
other | -- * 26 |
ソースコード
#include <bits/stdc++.h> using namespace std; const int MAX = 300; int main(){ int X; cin >> X; vector<unordered_map<int, int>> L(MAX + 1), R(MAX + 1); for (int i = 0; i <= MAX; i++){ for (int j = i; j <= MAX; j++){ for (int k = j; k <= MAX; k++){ int s = i * i * i + j * j * j + k * k * k; L[k][s]++; R[i][s]++; } } } int ans = 0; unordered_map<int, int> mp; for (int i = 0; i <= MAX; i++){ for (pair<int, int> P : L[i]){ mp[P.first] += P.second; } for (pair<int, int> P : R[i]){ if (mp.count(X - P.first) != 0){ ans += mp[X - P.first] * P.second; } } } cout << ans << endl; }