結果
問題 | No.781 円周上の格子点の数え上げ |
ユーザー |
|
提出日時 | 2020-07-19 04:16:27 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 158 ms / 2,000 ms |
コード長 | 559 bytes |
コンパイル時間 | 2,009 ms |
コンパイル使用メモリ | 195,060 KB |
最終ジャッジ日時 | 2025-01-12 00:45:57 |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 21 |
ソースコード
#include <bits/stdc++.h> using namespace std; #define REP(i,n) for(int i=0; i<(int)(n); i++) const int MAXN = 1e7; int f[MAXN+1]; int main() { ios_base::sync_with_stdio(0); cin.tie(0); vector<int> sq; for (int i = 0; i * i <= MAXN; i++) sq.push_back(i * i); int n = sq.size(); REP (i, n) REP (j, n) { if (sq[i] + sq[j] <= MAXN) f[sq[i] + sq[j]] += 1 << (sq[i] > 0) + (sq[j] > 0); } int x, y; cin >> x >> y; int ret = 0; for (int i = x; i <= y; i++) ret = max(ret, f[i]); cout << ret << endl; return 0; }