結果

問題 No.781 円周上の格子点の数え上げ
ユーザー ふっぴー
提出日時 2019-01-11 23:49:20
言語 C++14
(gcc 8.2.0)
結果
AC  
実行時間 128 ms
コード長 2,257 Byte
コンパイル時間 1,556 ms
使用メモリ 40,364 KB
最終ジャッジ日時 2019-01-11 23:49:24

テストケース

テストケース表示
入力 結果 実行時間
使用メモリ
in1.txt AC 33 ms
40,364 KB
in2.txt AC 33 ms
40,364 KB
in3.txt AC 33 ms
40,360 KB
in4.txt AC 33 ms
40,360 KB
in5.txt AC 33 ms
40,364 KB
in6.txt AC 33 ms
40,360 KB
in7.txt AC 34 ms
40,356 KB
in8.txt AC 31 ms
40,364 KB
in9.txt AC 42 ms
40,360 KB
in10.txt AC 42 ms
40,364 KB
in11.txt AC 31 ms
40,360 KB
in12.txt AC 33 ms
40,360 KB
in13.txt AC 75 ms
40,364 KB
in14.txt AC 128 ms
40,360 KB
in15.txt AC 35 ms
40,360 KB
in16.txt AC 32 ms
40,360 KB
in17.txt AC 33 ms
40,360 KB
in18.txt AC 77 ms
40,360 KB
in19.txt AC 43 ms
40,360 KB
in20.txt AC 41 ms
40,360 KB
in21.txt AC 41 ms
40,364 KB
テストケース一括ダウンロード

ソースコード

diff #
#include <bits/stdc++.h>

using namespace std;

#define DEBUG(x) cerr<<#x<<": "<<x<<endl;
#define DEBUG_VEC(v) cerr<<#v<<":";for(int i=0;i<v.size();i++) cerr<<" "<<v[i]; cerr<<endl

typedef long long ll;
#define vi vector<int>
#define vl vector<ll>
#define vii vector< vector<int> >
#define vll vector< vector<ll> >
#define vs vector<string>
#define pii pair<int,int>
#define pis pair<int,string>
#define psi pair<string,int>
#define pll pair<ll,ll>
template<class S, class T> pair<S, T> operator+(const pair<S, T> &s, const pair<S, T> &t) { return pair<S, T>(s.first + t.first, s.second + t.second); }
template<class S, class T> pair<S, T> operator-(const pair<S, T> &s, const pair<S, T> &t) { return pair<S, T>(s.first - t.first, s.second - t.second); }
template<class S, class T> ostream& operator<<(ostream& os, pair<S, T> p) { os << "(" << p.first << ", " << p.second << ")"; return os; }
#define X first
#define Y second
#define rep(i,n) for(int i=0;i<(n);i++)
#define rep1(i,n) for(int i=1;i<=(n);i++)
#define rrep(i,n) for(int i=(n)-1;i>=0;i--)
#define rrep1(i,n) for(int i=(n);i>0;i--)
#define REP(i,a,b) for(int i=a;i<b;i++)
#define in(x, a, b) (a <= x && x < b)
#define all(c) c.begin(),c.end()
template<class T> bool chmax(T &a, const T &b) { if (a<b) { a = b; return 1; } return 0; }
template<class T> bool chmin(T &a, const T &b) { if (a>b) { a = b; return 1; } return 0; }
#define UNIQUE(v) v.erase(std::unique(v.begin(), v.end()), v.end());
const ll inf = 1000000001;
const ll INF = 1e18;
const ll MOD = 1000000007;
//const ll MOD = 998244353;
const double pi = 3.14159265358979323846;
#define Sp(p) cout<<setprecision(15)<< fixed<<p<<endl;
int dx[4] = { 1,0, -1,0 }, dy[4] = { 0,1,0,-1 };
int dx2[8] = { 1,1,0,-1,-1,-1,0,1 }, dy2[8] = { 0,1,1,1,0,-1,-1,-1 };
#define fio() cin.tie(0); ios::sync_with_stdio(false);
//#define mp make_pair


int main() {
  int x, y;
  cin >> x >> y;
  vi mp(10000010);
  for (int i = 0; i*i <= y; i++) {
    for (int j = 0; j*j <= y; j++) {
      int r = i*i + j*j;
      if (!in(r, x, y + 1)) continue;
      int add = 1;
      if (i != 0) add *= 2;
      if (j != 0) add *= 2;
      mp[r] += add;
    }
  }
  int ans = 0;
  for (int r = x; r <= y; r++) {
    chmax(ans, mp[r]);
  }
  cout << ans << endl;
}
0