AtCoder Beginner Contest 158 比赛人数8029 codeforces比赛结束不久,就开打了,还好状态还可以,就是网站太慢,浪费了20分钟.
AtCoder Beginner Contest 158 C Tax Increase 简单区间交错
总目录详见https://blog.csdn.net/mrcrack/article/details/104454762
在线测评地址https://atcoder.jp/contests/abc158/tasks/abc158_c
![]()
![]()
样例模拟如下
2 2
25
2/0.08=25,(2+1)/0.08+1=38 区间[25,38]
2/0.1=20,(2+1)/0.1+1=30 区间[20,31]
区间交错[25,31]
对[25,30]进行检验,发现25*0.08=2,25*0.1=2符合题意
输出答案25
AC代码如下
#include <stdio.h>
int main(){
int a,b,c,d,e,f,i,out=0;
scanf("%d%d",&a,&b);
c=(int)(a/0.08),d=(int)((a+1)/0.08)+1;
e=(int)(b/0.1),f=(int)((b+1)/0.1)+1;
//printf("c=%d d=%d e=%d f=%d\n",c,d,e,f);
if(c<=e)c=e;
if(d>=f)d=f;
for(i=c;i<=d;i++){
e=(int)(i*0.08);
f=(int)(i*0.1);
if(e==a&&f==b){
out=i;
break;
}
}
if(out)printf("%d\n",out);
else printf("-1\n");
return 0;
}
本文详细解析了AtCoderBeginnerContest158中的TaxIncrease题目,通过区间交错策略找到满足条件的最小整数。文章分享了AC代码实现,并提供了在线测评链接。

406

被折叠的 条评论
为什么被折叠?



