记录编号 |
249048 |
评测结果 |
AAAAAAAAAA |
题目名称 |
[HEOI 2015]定价 |
最终得分 |
100 |
用户昵称 |
神利·代目 |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.004 s |
提交时间 |
2016-04-11 21:05:51 |
内存使用 |
0.29 MiB |
显示代码纯文本
#include<stdio.h>
int n,l,r,A[10]={1,10,100,1000,10000,100000,1000000,10000000,100000000,1000000000};
inline int work(){
int tip=l,wei=0,ans=0;
for(;tip;tip/=10,++wei);
//if(l==A[wei-1]*5)return l;
if(l<=A[wei-1]*5&&A[wei-1]*5<=r)return A[wei-1]*5;
if(wei!=9&&A[wei]*5<=r)return A[wei]*5;
for(int i=1;i<wei;++i)if(l%A[i]){
tip=(l/A[i]+1)*A[i];
if(tip<=r)l=tip;
else{
if(l%A[i]<=A[i]>>1&&l/A[i]*A[i]+A[i]/2<=r)
return l/A[i]*A[i]+A[i]/2;
return l;
}
}
return l;
}
int main(){
freopen("absurd.in","r",stdin);
freopen("absurd.out","w",stdout);
for(scanf("%d",&n);n--;printf("%d\n",work()))
scanf("%d%d",&l,&r);
//while(1);
}