曾思凡


私信TA

用户名:dotcpp0675795

访问量:2239

签 名:

等  级
排  名 6446
经  验 1425
参赛次数 1
文章发表 3
年  龄 0
在职情况 学生
学  校 江西农业大学
专  业

  自我简介:

解题思路:由题目可知V为最小时向上取整,V为最大时为向下取整:

当 V = 20 时,有:⌊75/20⌋ = 3,⌊ 53/20 ⌋ = 2,⌊ 59/20 ⌋ = 2,可以看到符合所有冶炼记录。

当 V = 25 时,有:⌊75/25⌋ = 3,⌊ 53/25 ⌋ = 2,⌊ 59/25 ⌋ = 2,可以看到符合所有冶炼记录。

由题目可知:数据V的范围已给出为V在[A/(B+1)+1,A/B]中;故求n条数据中max(A/(B+1)+1)为V的最小值,min(A/B)为V的最大值。

注意事项:
注意对于 100% 的评测用例,1 ≤ N ≤ 1E4,1 ≤ B ≤ A ≤ 1E9。

参考代码:

#include<stdio.h>
int main(){
int n,a,b,d,i,c,e=0,t=1000000000;
scanf("%d",&n);
for( i=1;i<=n;i++){
    scanf("%d %d",&a,&b);
        d=a/b;
        c=a/(b+1)+1;
        if(c>e)
        e=c;
        if(t>d)
        t=d;
    }
    printf("%d %d",e,t);
         
return 0;}
 

0.0分

33 人评分

新上线《蓝桥杯辅导》课程,近五年的蓝桥杯省赛与国赛真题都有,从读题开始理解题意、梳理思路、实现代码再提交评测全过程,可有效提升获奖比例甚至进国赛!课程介绍、试听请猛击这里

  评论区

最大值算出来为什么是29
2024-03-19 21:52:50
  • «
  • 1
  • »