結果
問題 |
No.2510 Six Cube Sum Counting
|
ユーザー |
|
提出日時 | 2023-10-20 21:50:42 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
MLE
|
実行時間 | - |
コード長 | 1,127 bytes |
コンパイル時間 | 1,800 ms |
コンパイル使用メモリ | 171,228 KB |
実行使用メモリ | 548,312 KB |
最終ジャッジ日時 | 2024-09-20 18:27:08 |
合計ジャッジ時間 | 76,228 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | MLE * 4 |
other | MLE * 26 |
ソースコード
//#pragma GCC optimize("Ofast") #include <bits/stdc++.h> using namespace std; bitset<81000001> ok; int id[81000001]; vector<short> u[3996739]; int32_t main() { ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0); for(int i=0;i<=300;++i) { for(int e=i;e<=300;++e) { for(int f=e;f<=300;++f) { ok[i*i*i+e*e*e+f*f*f]=1; } } } int cur=0; for(int i=0;i<=81000000;++i) { if(ok[i]) id[i]=cur++; else id[i]=cur; } for(int i=0;i<=300;++i) { for(int e=i;e<=300;++e) { for(int f=e;f<=300;++f) { u[id[i*i*i+e*e*e+f*f*f]].push_back(i); } } } int x;cin>>x; int res=0; for(int a=0;a<=300;++a) { for(int b=a;b<=300;++b) { for(int c=b;c<=300;++c) { int rem=x-a*a*a-b*b*b-c*c*c; if(rem<0 || rem>=81000001 || !ok[rem]) continue; for(int h:u[id[rem]]) res+=(h>=c); } } } cout<<res; return 0; }