Untitled
unknown
plain_text
3 years ago
1.6 kB
2
Indexable
#include<bits/stdc++.h> #include<algorithm> #define spd_emergency ios_base::sync_with_stdio(false);cin.tie(NULL); #define ll long long #define ull unsigned long long #define mp make_pair #define ff first #define ss second #define mloop(i) for(auto i=m.begin();i!=m.end();i++) #define pb push_back #define pll pair<ll,ll> #define pii pair<int,int> #define mod1 1125899906842597LL using namespace std; vector<bool> prime(200002,true); void seive(ll mx) { prime[0]=prime[1]=false; for(ll i=2;i*i<=mx;i++) { if(prime[i]) { for(ll j=i*i;j<=mx;j+=i) { prime[j]=false; } } } } const ll M = 1e9+7; const ll Mxn = 3e5; ll power(ll i,ll p) { ll ans=1; while(p) { if(p & 1) ans = (ans*i)%M; i = (i*i)%M; p/=2; } return ans%M; } ll Dfunc(ll a) { ll ans=0,len=0; ll g=a; while(g) { len++; g/=10; } ans = (a - pow(10,len-1) + 1)*len; len--; while(len>=1) { ans+=(pow(10,len)-pow(10,len-1))*len; len--; } return ans; } int main() { spd_emergency; int t=1; //cin>>t; while(t--) { ll c, a, p, ans=0; cin>>c>>a>>p; ll sub = Dfunc(a); ll len=0; ll g = a; while(g) { len++; g/=10; } if(len*p > c) { cout<<0<<endl; continue; } ll low=0,high=1e9+1; while(low<=high) { ll mid = (high-low)/2+low; if((Dfunc(a+mid)-sub+len)*p > c) { high = mid-1; } else { //cout<<(Dfunc(a+mid)-sub+len)*p<<endl; ans = mid; low = mid+1; } } cout<<ans+1<<endl; } return 0; }
Editor is loading...