BZOJ 4159 [Neerc2009]Business Center

思路

简单的模拟,答案就是(min{(lfloorfrac{d imes n}{u+d} floor+1) imes(u+d)-d imes n})

代码

#include <cstdio>
#include <algorithm>
#include <cstring>
#define int long long
using namespace std;
int n,m,ans=0x3f3f3f3f3f3f3f3fLL;
signed main(){
    while(scanf("%lld %lld",&n,&m)==2){
        ans=0x3f3f3f3f3f3f3f3fLL;
        for(int i=1;i<=m;i++){
            int u,d;
            scanf("%lld %lld",&u,&d);
            int t=(d*n)/(u+d);
            t++;
            ans=min(ans,(u+d)*t-d*n);
        }
        printf("%lld
",ans);
    }
    return 0;
}
原文地址:https://www.cnblogs.com/dreagonm/p/10452498.html