結果
問題 | No.491 10^9+1と回文 |
ユーザー |
![]() |
提出日時 | 2019-04-27 16:39:31 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 14 ms / 1,000 ms |
コード長 | 1,331 bytes |
コンパイル時間 | 927 ms |
コンパイル使用メモリ | 103,776 KB |
実行使用メモリ | 6,824 KB |
最終ジャッジ日時 | 2024-11-28 11:14:40 |
合計ジャッジ時間 | 4,630 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 103 |
ソースコード
#include<iostream>#include<cstdio>#include<cstring>#include <cstdlib>#include <cmath>#include<cctype>#include<string>#include<set>#include<iomanip>#include <map>#include<algorithm>#include <functional>#include<vector>#include<climits>#include<stack>#include<queue>#include <deque>#include <climits>#include <typeinfo>#include <utility>#define all(x) (x).begin(),(x).end()#define rep(i,m,n) for(int i = m;i < n;++i)#define pb push_back#define fore(i,a) for(auto &i:a)#define rrep(i,m,n) for(int i = m;i >= n;--i)#define INF INT_MAX/2using namespace std;using ll = long long;using R = double;using Data = pair<ll, vector<int>>;const ll MOD = 1e9 + 7;const ll inf = 1LL << 50;struct edge { ll from; ll to; ll cost; };vector<ll>s;ll conv(string p) {ll ret = 0;reverse(all(p));ll dgt = 1;fore(x, p) {ret += dgt * (x - '0');dgt *= 10;}return ret;}ll getdigit(string s) {return s.size();}int main() {ll n;cin >> n;ll temp = 1e9 + 1;rep(i, 1, 10)s.pb(i);for(ll i = 1; i < 10000; i++) {string s1 = to_string(i);string s2 = s1;reverse(all(s2));s.pb(conv(s1 + s2));for (ll j = 0; j <= 9; j++) {s.pb(conv(s1 + to_string(j)+s2));}}sort(all(s));ll ans = 0;fore(x,s) {if (x * temp <= n)ans++;}cout << ans << endl;return 0;}