解いた問題

7/03/2012

SRM411 Div2 Easy

250

やるだけ



  1. class MaximumScoredNumber {  
  2. public:  
  3.   int getNumber(lli L, lli U)  
  4.   {  
  5.     pair<lli, lli> mx = make_pair(-1, -1);  
  6.     for (lli i = L; i <= U; ++i) {  
  7.       lli cnt = 0;  
  8.       for (lli j = 0; j * j <= i; ++j) {  
  9.         lli k = i - j * j;  
  10.         lli l = (lli)floor(sqrt((double)k));  
  11.         if (l * l == k && j <= l) ++cnt;  
  12.       }  
  13.       mx = max(mx, make_pair(cnt, i));  
  14.     }  
  15.     return mx.second;  
  16.   }  
  17. };