結果
問題 | No.781 円周上の格子点の数え上げ |
ユーザー |
|
提出日時 | 2019-01-11 22:28:41 |
言語 | C++11 (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 146 ms / 2,000 ms |
コード長 | 866 bytes |
コンパイル時間 | 559 ms |
コンパイル使用メモリ | 74,412 KB |
実行使用メモリ | 90,368 KB |
最終ジャッジ日時 | 2024-11-30 13:19:03 |
合計ジャッジ時間 | 4,157 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 21 |
ソースコード
#include<iostream>#include<string>#include<iomanip>#include<cmath>#include<vector>#include<algorithm>using namespace std;#define int long long#define rep(i,n) for(int i = 0; i < (n); i++)#define INF (long long)(1e18)#define MOD (int)(1e9+7)#define yn(f) ((f)?"Yes":"No")#define YN(f) ((f)?"YES":"NO")#define MAX 10000002int temp[MAX];bool tete[MAX];void fuga(){temp[0] = 1;vector<int> vec;for(int i = 0; i*i <= MAX; i++){vec.push_back(i*i);tete[i*i] = true;temp[i*i]--;}for(int i = 0; i < vec.size(); i++){for(int j = 0; j < vec.size(); j++){if(vec[i]+vec[j] < MAX) temp[vec[i]+vec[j]]++;else break;}}}signed main(){cout<<fixed<<setprecision(7);int X, Y;int ans = 0;cin>>X>>Y;fuga();for(int i = X; i <= Y; i++){ans = max(ans,temp[i]*4);}cout<<ans<<endl;return 0;}