输出和答案一样但只得了50分?!求助qwq
查看原帖
输出和答案一样但只得了50分?!求助qwq
1247655
111111lcr楼主2024/5/1 17:30
#include<bits/stdc++.h>
using namespace std;
const int N=1e7+100;
long long l[N],r[N],v[N],ans;
int main(){
	long long n,k,cnt;
	cin>>n>>k;
	l[1]=1,r[1]=1,v[1]=k;
	for(long long i=2;;i++){
		l[i]=r[i-1]+1;
		if(l[i]>k){
			cnt=l[i];
			break;
		}
		v[i]=k/l[i];
		r[i]=k/v[i];
	}
	for(long long i=1;r[i]!=0&&l[i]!=0;i++){
		ans=ans+(r[i]-l[i]+1)*(k%r[i]+k%l[i])/2;
	}
	cout<<ans+(n-cnt+1)*k;
	return 0;
}

用题解的代码比较过输出了,输入什么输出都一样,为什么只有50分??!

2024/5/1 17:30
加载中...