Submission #67553282
Source Code Expand
#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
#include <cmath>
using namespace std;
#define ll long long
#define faster ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
bool check_pal(string s) {
int left = 0;
int right = s.size() - 1;
while (left < right) {
if (s[left] != s[right]) {
return false;
}
left++;
right--;
}
return true;
}
string toBaseA(ll num, int a) {
if (num == 0) {
return "0";
}
string dg = "";
while (num > 0) {
int digit = num % a;
dg += to_string(digit);
num /= a;
}
reverse(dg.begin(), dg.end());
return dg;
}
vector<ll> calPs(ll n) {
vector<ll> P;
string nStr = to_string(n);
int maxL = nStr.size();
for (int len = 1; len <= maxL; len++) {
int halfLen = (len + 1) / 2;
ll start = pow(10, (len - 1) / 2);
ll end = pow(10, halfLen) - 1;
for (ll i = start; i <= end; i++) {
string fiHalf = to_string(i);
string PStr;
if (len % 2 == 0) {
string seHalf = fiHalf;
reverse(seHalf.begin(), seHalf.end());
PStr = fiHalf + seHalf;
} else {
string seHalf = fiHalf.substr(0, fiHalf.size() - 1);
reverse(seHalf.begin(), seHalf.end());
PStr = fiHalf + seHalf;
}
ll num = stoll(PStr);
if (num > n) {
break;
}
P.push_back(num);
}
}
return P;
}
int main() {
faster
int a;
ll n;
cin >> a >> n;
vector<ll> P = calPs(n);
ll sum = 0;
for (ll num : P) {
string baseA = toBaseA(num, a);
bool check = true;
for (char d : baseA) {
if (d - '0' >= a) {
check = false;
break;
}
}
if (check && check_pal(baseA)) {
sum += num;
}
}
cout << sum << endl;
return 0;
}
Submission Info
| Submission Time | |
|---|---|
| Task | C - Palindromic in Both Bases |
| User | Thanglm2006 |
| Language | C++ 20 (gcc 12.2) |
| Score | 350 |
| Code Size | 2216 Byte |
| Status | AC |
| Exec Time | 652 ms |
| Memory | 19852 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 350 / 350 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | 00-sample-01.txt, 00-sample-02.txt, 00-sample-03.txt |
| All | 00-sample-01.txt, 00-sample-02.txt, 00-sample-03.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 01-16.txt, 01-17.txt, 01-18.txt, 01-19.txt, 01-20.txt, 01-21.txt, 01-22.txt, 01-23.txt, 01-24.txt, 01-25.txt, 01-26.txt, 01-27.txt, 01-28.txt, 01-29.txt, 01-30.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 00-sample-01.txt | AC | 1 ms | 3744 KiB |
| 00-sample-02.txt | AC | 280 ms | 19852 KiB |
| 00-sample-03.txt | AC | 321 ms | 19756 KiB |
| 01-01.txt | AC | 1 ms | 3752 KiB |
| 01-02.txt | AC | 1 ms | 3700 KiB |
| 01-03.txt | AC | 652 ms | 19828 KiB |
| 01-04.txt | AC | 398 ms | 19680 KiB |
| 01-05.txt | AC | 274 ms | 19760 KiB |
| 01-06.txt | AC | 360 ms | 19812 KiB |
| 01-07.txt | AC | 293 ms | 19800 KiB |
| 01-08.txt | AC | 270 ms | 19708 KiB |
| 01-09.txt | AC | 469 ms | 19800 KiB |
| 01-10.txt | AC | 324 ms | 19676 KiB |
| 01-11.txt | AC | 1 ms | 3780 KiB |
| 01-12.txt | AC | 15 ms | 4288 KiB |
| 01-13.txt | AC | 1 ms | 3808 KiB |
| 01-14.txt | AC | 14 ms | 4284 KiB |
| 01-15.txt | AC | 1 ms | 3704 KiB |
| 01-16.txt | AC | 2 ms | 3752 KiB |
| 01-17.txt | AC | 1 ms | 3652 KiB |
| 01-18.txt | AC | 2 ms | 3896 KiB |
| 01-19.txt | AC | 436 ms | 19816 KiB |
| 01-20.txt | AC | 1 ms | 3680 KiB |
| 01-21.txt | AC | 1 ms | 3812 KiB |
| 01-22.txt | AC | 1 ms | 3748 KiB |
| 01-23.txt | AC | 1 ms | 3740 KiB |
| 01-24.txt | AC | 1 ms | 3668 KiB |
| 01-25.txt | AC | 1 ms | 3808 KiB |
| 01-26.txt | AC | 2 ms | 3720 KiB |
| 01-27.txt | AC | 13 ms | 4348 KiB |
| 01-28.txt | AC | 1 ms | 3784 KiB |
| 01-29.txt | AC | 1 ms | 3604 KiB |
| 01-30.txt | AC | 1 ms | 3752 KiB |