设上升x层,列个方程解出来,再把x带回去
#include#include #include #include using namespace std;int u[2001],d[2001];int main(){ int n,m,ans,x; while(scanf("%d%d",&n,&m)!=EOF) { ans=2e9; for(int i=1;i<=m;i++) scanf("%d%d",&u[i],&d[i]); for(int i=1;i<=m;i++) { x=d[i]*n/(u[i]+d[i])+1; ans=min(ans,u[i]*x-d[i]*(n-x)); } printf("%d\n",ans); }}