解いた問題

7/03/2012

SRM411 Div2 Easy

250

やるだけ



class MaximumScoredNumber {
public:
  int getNumber(lli L, lli U)
  {
    pair<lli, lli> mx = make_pair(-1, -1);
    for (lli i = L; i <= U; ++i) {
      lli cnt = 0;
      for (lli j = 0; j * j <= i; ++j) {
        lli k = i - j * j;
        lli l = (lli)floor(sqrt((double)k));
        if (l * l == k && j <= l) ++cnt;
      }
      mx = max(mx, make_pair(cnt, i));
    }
    return mx.second;
  }
};