关于UB
查看原帖
关于UB
361965
K2Cr2O7楼主2021/1/30 21:05

k/(k/t) 有没有可能被优化成 t 啊?这题我想试试,开了 O2 竟然 A 了。

整个代码

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
LL n,k,res;

inline const LL _min(const LL &a,const LL &b){
	return a<b?a:b;
}

signed main(){
	scanf("%d %d",&n,&k);
	res=n*k;
	for(int l=1,r;l<=n;l=r+1){
		r=(k/l)==0?n:_min(k/(k/l),n);
		res-=(k/l)*(r-l+1)*(l+r)>>1;
	}
	printf("%lld",res);
	return 0;
}

所以这样写到底安全不安全?

2021/1/30 21:05
加载中...