Description
Submission
class Solution { typedef long long ll; const int M = 1337; ll createPalindrome(ll n) { string s = to_string(n); reverse_copy(s.begin(), s.end(), back_inserter(s)); return stoll(s); } public: int largestPalindrome(int n) { if(n == 1) return 9; ll lower = pow(10, n-1); ll upper = pow(10, n) - 1; for(int i = upper; i >= lower; --i) { ll p = createPalindrome(i); for(int j = upper; j >= sqrt(p); --j) { if(p % j == 0 && p / j >= lower) { return p % M; } } } return -1; } };