AT4810 [ABC133C] Remainder Minimization 2019
AT4810 [ABC133C] Remainder Minimization 2019
这题本质上考察的是模拟算法。
题意: 给出 和 ,在其中找出 和 ,使得 最小。
但是其中依旧有应该注意的地方:
首先由于范围为 ,所以必须开 long long。
2.如果在其中
if(ans==0)
break;
因为 已经是最小的,所以显而易见,我们就没有必要继续循环下去了,所以直接跳出就可以了。
(如果不加这里第三个点会 )
所以代码就是这样了:
#include<bits/stdc++.h>
using namespace std;
#define int long long
signed main()
{
int n,m;
cin>>n>>m;
int ans=1e6+10;
for(int i=n;i<=m;i++)
{
for(int j=i+1;j<=m;j++)
{
ans=min(ans,(i*j)%2019);
if(ans==0)
break;
}
if(ans==0)
break;
}
cout<<ans<<endl;
}