思路
简单的模拟,答案就是(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;
}