题面:https://ac.nowcoder.com/acm/contest/33189/K
可计为击杀第i个人时的攻击力
当已击杀i-1人时 =n*k+(i-1)
n*k不需考虑,相当于=i-1
因为按照题目的方法
有
因为=i-1
所以
可以枚举k,直到找到第一个符合的x时的k
注意,n=1时 ,k可取0
代码:
#include<bits/stdc++.h>
#define LL long long
using namespace std;
LL l[10];
int n;
LL times(LL x){
LL i,a;
for(i=1;;i++){
a=(x-1)*l[i];
if(((a-x+n-1)/n*n+x)-a<l[i]){
return i;
}
}
}
int main(){
int res=0;
long long i;
cin>>n;
if(n==1){
cout<<"0"<<"\n";
return 0;
}
res=1;
l[0]=1;
for(i=1;i<=7;i++){
l[i]=l[i-1]*10;
}
for(i=2;i<=n;i++){
res+=times(i);
}
cout<<res<<"\n";
}