洛谷 AT4810 题解
Makerlife
·
2022-01-26
·
via Makerlife 的小站
思路
直接暴力枚举。
有两点要注意:
-
如果当前求得的最小值为0,直接输出并退出程序;我第一遍就是这么TLE的。
-
数据范围是 2×1092 \times {10^9},再一乘必然会爆 int\texttt{int},所以要开 long long\texttt{long long}。
上代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| #include<cstdio> #include<iostream> #include<algorithm> #define ll long long using namespace std; ll l,r; ll ans=2020;//ans的初始值只要小于 mod2019 也就是2018 就可以 int main() { scanf("%lld%lld",&l,&r); for(ll i=l;i<=r;i++) { for(ll j=i+1;j<=r;j++) { ans=min(ans,(i*j)%2019); if(ans==0)//如果为0直接输出并退出程序,否则会超时 { printf("0\n"); return 0; } } } printf("%lld\n",ans); return 0; }
|
岛国的题一定要行末换行
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。