結果
問題 | No.491 10^9+1と回文 |
ユーザー |
![]() |
提出日時 | 2025-05-16 16:15:38 |
言語 | C++23 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 3,791 bytes |
コンパイル時間 | 4,198 ms |
コンパイル使用メモリ | 287,476 KB |
実行使用メモリ | 7,848 KB |
最終ジャッジ日時 | 2025-05-16 16:15:46 |
合計ジャッジ時間 | 8,009 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 93 WA * 10 |
ソースコード
#include<bits/stdc++.h> using namespace std; typedef long long ll; ll n; bool hw(ll x){ string s=to_string(x); string t=s; reverse(t.begin(),t.end()); return s==t; } int main(){ // freopen("palindrome.in","r",stdin); // freopen("palindrome.out","w",stdout); cin>>n; n/=1000000001; // cout<<n<<endl; vector<tuple<ll,ll,ll>>vec(100); vec[0]={1999,0,999999},vec[1]={1000,1000000,1999999},vec[2]={1000,2000000,2999999},vec[3]={1000,3000000,3999999},vec[4]={1000,4000000,4999999},vec[5]={1000,5000000,5999999},vec[6]={1000,6000000,6999999},vec[7]={1000,7000000,7999999},vec[8]={1000,8000000,8999999},vec[9]={1000,9000000,9999999},vec[10]={100,10000000,10999999},vec[11]={100,11000000,11999999},vec[12]={100,12000000,12999999},vec[13]={100,13000000,13999999},vec[14]={100,14000000,14999999},vec[15]={100,15000000,15999999},vec[16]={100,16000000,16999999},vec[17]={100,17000000,17999999},vec[18]={100,18000000,18999999},vec[19]={100,19000000,19999999},vec[20]={100,20000000,20999999},vec[21]={100,21000000,21999999},vec[22]={100,22000000,22999999},vec[23]={100,23000000,23999999},vec[24]={100,24000000,24999999},vec[25]={100,25000000,25999999},vec[26]={100,26000000,26999999},vec[27]={100,27000000,27999999},vec[28]={100,28000000,28999999},vec[29]={100,29000000,29999999},vec[30]={100,30000000,30999999},vec[31]={100,31000000,31999999},vec[32]={100,32000000,32999999},vec[33]={100,33000000,33999999},vec[34]={100,34000000,34999999},vec[35]={100,35000000,35999999},vec[36]={100,36000000,36999999},vec[37]={100,37000000,37999999},vec[38]={100,38000000,38999999},vec[39]={100,39000000,39999999},vec[40]={100,40000000,40999999},vec[41]={100,41000000,41999999},vec[42]={100,42000000,42999999},vec[43]={100,43000000,43999999},vec[44]={100,44000000,44999999},vec[45]={100,45000000,45999999},vec[46]={100,46000000,46999999},vec[47]={100,47000000,47999999},vec[48]={100,48000000,48999999},vec[49]={100,49000000,49999999},vec[50]={100,50000000,50999999},vec[51]={100,51000000,51999999},vec[52]={100,52000000,52999999},vec[53]={100,53000000,53999999},vec[54]={100,54000000,54999999},vec[55]={100,55000000,55999999},vec[56]={100,56000000,56999999},vec[57]={100,57000000,57999999},vec[58]={100,58000000,58999999},vec[59]={100,59000000,59999999},vec[60]={100,60000000,60999999},vec[61]={100,61000000,61999999},vec[62]={100,62000000,62999999},vec[63]={100,63000000,63999999},vec[64]={100,64000000,64999999},vec[65]={100,65000000,65999999},vec[66]={100,66000000,66999999},vec[67]={100,67000000,67999999},vec[68]={100,68000000,68999999},vec[69]={100,69000000,69999999},vec[70]={100,70000000,70999999},vec[71]={100,71000000,71999999},vec[72]={100,72000000,72999999},vec[73]={100,73000000,73999999},vec[74]={100,74000000,74999999},vec[75]={100,75000000,75999999},vec[76]={100,76000000,76999999},vec[77]={100,77000000,77999999},vec[78]={100,78000000,78999999},vec[79]={100,79000000,79999999},vec[80]={100,80000000,80999999},vec[81]={100,81000000,81999999},vec[82]={100,82000000,82999999},vec[83]={100,83000000,83999999},vec[84]={100,84000000,84999999},vec[85]={100,85000000,85999999},vec[86]={100,86000000,86999999},vec[87]={100,87000000,87999999},vec[88]={100,88000000,88999999},vec[89]={100,89000000,89999999},vec[90]={100,90000000,90999999},vec[91]={100,91000000,91999999},vec[92]={100,92000000,92999999},vec[93]={100,93000000,93999999},vec[94]={100,94000000,94999999},vec[95]={100,95000000,95999999},vec[96]={100,96000000,96999999},vec[97]={100,97000000,97999999},vec[98]={100,98000000,98999999},vec[99]={100,99000000,99999999}; ll st=0,ed=n/1000000,ans=0; for(ll i=st;i<ed;i++){ // cout<<i<<" "<<st<<" "<<ed<<" "<<ans<<endl; ans+=get<0>(vec[i]); } // cout<<endl; for(ll i=ed*1000000;i<=n;i++){ if(hw(i)){ // cout<<i<<" "; ans++; } } // cout<<endl; cout<<ans-1; } /* 11451419198100000 */