12分,求助,找不到错?
查看原帖
12分,求助,找不到错?
439864
Aphasia_Ray楼主2021/9/28 22:58

码风有点非常奇怪

#include <iostream>
#include <cmath>
using namespace std;
long long c[100005],hq,lq;
long long n,m,s1,s2,p,ans=1;
int main(){
	cin>>n;
	for (int i=1;i<=n;i++) cin>>c[i];
	cin>>m>>p>>s1>>s2;c[p]+=s1;
	for (int i=1;i<m;i++) lq+=c[i]*(m-i);
	for (int i=m+1;i<=n;i++) hq+=c[i]*(i-m);
	if (lq==hq){
		if (s2!=0) ans=m;
		if (s2==0) ans=1;
	}else{
		long long hhh=pow(2,64);
		if (lq<hq){
			for (int i=1;i<=m;i++){
				lq+=s2*(m-i);
				if (abs(lq-hq)<hhh){
					hhh=abs(lq-hq);
					ans=i;
				}lq-=s2*(m-i);
			}
		}else{
			for (int i=m;i<=n;i++){
				hq+=s2*(i-m);
				if (abs(lq-hq)<hhh){
					hhh=abs(lq-hq);
					ans=i;
				}hq-=s2*(i-m);
			}
		}
	}cout<<ans;
	return 0;
}

当你回复了,就好了,我经常不在线。不好意思

2021/9/28 22:58
加载中...