Submission #67544008


Source Code Expand

#include <bits/stdc++.h>
using namespace std;
#include<ext/pb_ds/assoc_container.hpp>
#include<ext/pb_ds/tree_policy.hpp>
using namespace __gnu_pbds;
#define LagaKar ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL)
#define pb push_back
#define pf push_front
#define pob pop_back
#define pof pop_front
#define mp make_pair
#define fi first
#define se second
#define lb lower_bound
#define ub upper_bound
#define ook order_of_key   //number of elements less than k
#define fbo find_by_order  //k th element (0 index)
#define nline endl
#define YES cout<<"YES"<<nline
#define NO cout<<"NO"<<nline
#define Yes cout<<"Yes"<<nline
#define No cout<<"No"<<nline
//%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
#define precise(ans)  cout<<fixed<<setprecision(15)<<ans
#define fo(i,n) for(ll i=0;i<n;i++)
#define Fo(i,k,n) for(ll i=k;k<n?i<n:i>n;k<n?i+=1:i-=1)
#define Tr(it, a) for(auto it = a.begin(); it != a.end(); it++)
#define Sz(x) ((ll)(x).size())
#define All(x) x.begin(), x.end()
#define Allr(x) x.rbegin(), x.rend()
#define MAX(x) *max_element(All(x))
#define MIN(x) *min_element(All(x))
#define SUM(x) accumulate(All(x), 0LL)
#define CNT(x) __builtin_popcountll(x)
//##################################################################################################################
typedef long long ll; typedef unsigned long long ull; typedef long double lld;
typedef pair<ll, ll>  pl;   typedef vector<ll>  vl;typedef vector<vl>  vvl; 
typedef vector<pl>  vpl;    template <typename T> using prq_mx  = priority_queue<T>; 
template <typename T> using prq_mn = priority_queue<T, vector<T>, greater<T>>;
//------------------------------------------------------------------------------------------------------------
template <typename T> using o_set = tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>;
template <typename T, typename R> using o_map = tree<T, R, less<T>, rb_tree_tag, tree_order_statistics_node_update>;
template <typename T> using o_multiset = tree<T,null_type,less_equal<T>,rb_tree_tag,tree_order_statistics_node_update>;
template<class Fun> class y_combinator_result {
    Fun fun_;
public:
    template<class T> explicit y_combinator_result(T &&fun): fun_(std::forward<T>(fun)) {}
    template<class ...Args> decltype(auto) operator()(Args &&...args) { return fun_(std::ref(*this), std::forward<Args>(args)...); }
};
template<class Fun> decltype(auto) y_combinator(Fun &&fun) { return y_combinator_result<std::decay_t<Fun>>(std::forward<Fun>(fun)); }

//********************************************************************************************************************
#ifdef hydracody
    #include </home/anurag/Desktop/cpc/debug.h>
#else
#define debug(x)
#endif
//------------------------------------------------------------------------------------------------------------
const double eps=1e-9;const ll INF=(ll)1e9;const ll inf64=2e18;const ll INF64=9e18;
#define PI 3.1415926535897932384626
// #define MOD 998244353
#define MOD 1000000007
// #define MOD2 1000000009
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
ll gcd(ll a, ll b) {if (b > a) {return gcd(b, a);} if (b == 0) {return a;} return gcd(b, a % b);}
ll lcm(ll a, ll b){return (a / gcd(a, b)) * b;}
ll power(ll x,ll y, ll p){if(y==0)return 1;ll res = 1;x = x % p;if (x == 0) return 0;while (y > 0){if (y & 1)res = (res*x) % p;y = y>>1;x = (x*x) % p;}return res;}
ll pinv(ll a, ll m){ return power(a, m - 2, m); }
 ll logceil(ll x){ll s=0;while(x>0){s++;x=x/2;}return s;}
ll mod_add(ll a, ll b, ll m) {a = a % m; b = b % m; return (((a + b) % m) + m) % m;}
ll mod_mul(ll a, ll b, ll m) {a = a % m; b = b % m; return (((a * b) % m) + m) % m;}
ll mod_sub(ll a, ll b, ll m) {a = a % m; b = b % m; return (((a - b) % m) + m) % m;}
ll mod_div(ll a, ll b, ll m) {a = a % m; b = b % m; return (mod_mul(a, pinv(b, m), m) + m) % m;}  //only for prime m
ll phin(ll n) {ll number = n; if (n % 2 == 0) {number /= 2; while (n % 2 == 0) n /= 2;} for (ll i = 3; i <= sqrt(n); i += 2) {if (n % i == 0) {while (n % i == 0)n /= i; number = (number / i * (i - 1));}} if (n > 1)number = (number / n * (n - 1)) ; return number;} //O(sqrt(N))
ll getRandomNumber(ll l, ll r) {return uniform_int_distribution<ll>(l, r)(rng);} 
void starter(ll t) {cout << "Case #" << t << ": ";}
void starter1(ll t) {cerr << "Case #" << t << ": ";}
void compress(vector<ll>& vs){sort(vs.begin(),vs.end());vs.resize(unique(vs.begin(), vs.end()) - vs.begin());}
/////////////////////////////////////////////////////////////////////////////////////////////////
/*
  p >1900
*/


ll a,n,sum;
ll stringToInt(const std::string& str) {
    ll result = 0;
    for (char c : str) {
        result = result * 10 + (c - '0');
    }
    return result;
}

void dek2(string& ans){
  ll num=stringToInt(ans);
  // cout<<num<<" "<<n<<nline;
  if(num>n)return;
  string ans1="";
  while(num>0){
    ans1.pb((char)('0'+num%a));
    num=num/a;
  }
  string ans2=ans1;
  reverse(All(ans1));
  // cout<<ans1<<" "<<ans2<<" "<<sum<<nline;
  if(ans2==ans1)sum+=stringToInt(ans);
}

void rec(ll t,ll& l,string st){
  if(Sz(st)>=(l+1)/2){
    string ans=st;
    if(l%2==1 && Sz(st)>0)st.pop_back();
    reverse(All(st));
    ans+=st;
    dek2(ans);

    return;
  }
  // cout<<st<<" "<<l<<nline;
  char s=(t==0?'1':'0');
  for(;s<='9';s++){
    st.push_back(s);
    rec(1,l,st);
    st.pop_back();
  }
}

void find(){
  for(ll len=1;len<=12;len++){
    rec(0,len,"");
  }
  // debug(aa);
}




void  chal(){
  cin>>a>>n;
  sum=0;
  // string aa="121";
  // dek2(aa);
  find();
  cout<<sum<<nline;






























  


}

 

 
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
int32_t main() {
  LagaKar;
#ifdef hydracody
  freopen("input.txt", "r", stdin); freopen("output1.txt", "w", stdout); freopen("error.txt", "w", stderr);
#endif
  ll  t; t = 1;
  // cin>>t;
  for (ll i = 1; i <= t; i++) {
    // starter(i);
    chal();
  } 
  return 0;
}
/*
cmd->g++ code1.cpp  ./a.out
*/

Submission Info

Submission Time
Task C - Palindromic in Both Bases
User Hydracody
Language C++ 20 (gcc 12.2)
Score 350
Code Size 6425 Byte
Status AC
Exec Time 642 ms
Memory 3620 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 350 / 350
Status
AC × 3
AC × 33
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 55 ms 3596 KiB
00-sample-02.txt AC 263 ms 3452 KiB
00-sample-03.txt AC 299 ms 3520 KiB
01-01.txt AC 56 ms 3504 KiB
01-02.txt AC 56 ms 3564 KiB
01-03.txt AC 642 ms 3452 KiB
01-04.txt AC 373 ms 3380 KiB
01-05.txt AC 265 ms 3468 KiB
01-06.txt AC 336 ms 3512 KiB
01-07.txt AC 274 ms 3448 KiB
01-08.txt AC 254 ms 3560 KiB
01-09.txt AC 444 ms 3536 KiB
01-10.txt AC 300 ms 3540 KiB
01-11.txt AC 56 ms 3516 KiB
01-12.txt AC 65 ms 3564 KiB
01-13.txt AC 56 ms 3516 KiB
01-14.txt AC 66 ms 3512 KiB
01-15.txt AC 55 ms 3532 KiB
01-16.txt AC 56 ms 3540 KiB
01-17.txt AC 56 ms 3472 KiB
01-18.txt AC 56 ms 3516 KiB
01-19.txt AC 422 ms 3516 KiB
01-20.txt AC 55 ms 3512 KiB
01-21.txt AC 56 ms 3516 KiB
01-22.txt AC 56 ms 3472 KiB
01-23.txt AC 56 ms 3456 KiB
01-24.txt AC 56 ms 3460 KiB
01-25.txt AC 56 ms 3472 KiB
01-26.txt AC 56 ms 3504 KiB
01-27.txt AC 65 ms 3620 KiB
01-28.txt AC 56 ms 3472 KiB
01-29.txt AC 55 ms 3536 KiB
01-30.txt AC 55 ms 3520 KiB