結果
問題 |
No.2510 Six Cube Sum Counting
|
ユーザー |
![]() |
提出日時 | 2023-10-20 23:12:45 |
言語 | C++17(gcc12) (gcc 12.3.0 + boost 1.87.0) |
結果 |
TLE
|
実行時間 | - |
コード長 | 2,072 bytes |
コンパイル時間 | 8,168 ms |
コンパイル使用メモリ | 255,828 KB |
最終ジャッジ日時 | 2025-02-17 10:56:58 |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 TLE * 1 -- * 1 |
other | -- * 26 |
ソースコード
#include <bits/stdc++.h> using namespace std; using ll=int; using ld=long double; ld pie=3.141592653589793; ll mod=998244353; ll inf=100000;//10^17 int main(){ ll x; cin >> x; ll ans=0; vector<ll>memo(400,0); for (ll i = 0; i < 400; i++) { memo[i]=i*i*i; } vector<ll>g(27000001,inf); for (ll i = 0; i <=300; i++) { g[i*i*i]=i; } ll dai=300*300*300; vector<ll>ggg(81000001,0); for (ll i = 0; i <=300; i++) { for (ll j = 0; j <=300; j++) { for (ll k = 0; k <=300; k++) { ggg[i*i*i+j*j*j+k*k*k]=1; } } } for (ll f = 0; f <=300; f++) { ll ff=memo[f]; if (ff>x) { break; } for (ll e = 0; e <=f; e++) { ll ee=memo[e]+ff; if (ee>x) { break; } for (ll d = 0; d <=e; d++) { ll dd=memo[d]+ee; if (dd>x) { break; } if (x-dd<=dai*3) { if (ggg[x-dd]==0) { continue; } } for (ll c = 0; c <=d; c++) { ll cc=memo[c]+dd; if (cc>x) { break; } for (ll b = 0; b <=c; b++) { ll bb=memo[b]+cc; if (bb>x) { break; } if (x-bb>dai) { continue; } if (g[x-bb]<=b) { ans++; } } } } } } cout << ans << endl; }