[OpenJudge-NOI]最接近的分數

代碼

#include <cstdio>
#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;

int n,a,b,ra(0),rb(0),maxr=0;

int Gcd(int x,int y){
    if(y==0) return x;
    else return Gcd(y,x%y);
}
int main(){
    scanf("%d%d%d",&n,&a,&b);   
    for(int i=1;i<=n;i++){
        int l=1,r=i,t=0;
        while(l<r){
            int mid=(l+r)/2;
            if(mid*b<a*i) {
                l=mid+1,t=mid;
            }
            else r=mid; 
        }
        if((ra*i<t*rb)||(ra==0&&rb==0)){
            rb=i;ra=t;
        }
    }
    //i/j<a/b
    //i*b<a*j;
    printf("%d %d",ra,rb);
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章