为什么没有神犇帮我啊啊掉小珍珠了
查看原帖
为什么没有神犇帮我啊啊掉小珍珠了
735141
hiGh_sPeEd楼主2023/10/6 10:21

真的很短,很努力让您看明白我的代码啦

92分错倒数第一和倒数第三个点

求助啊啊啊啊啊啊我还想在其它题目塔塔开啊

#include <bits/stdc++.h>
#define ll long long
using namespace std;
ll n,asd[1000010],m,p1,s1,s2,suml=0,sumh=0;
int temp=100000010,flag=10000010;
int main(){
	cin>>n;
	for(ll i=1;i<=n;i++)cin>>asd[i];
	cin>>m>>p1>>s1>>s2;
	flag=m;
	asd[p1]+=s1;
	for(ll i=1;i<m;i++)suml=suml+asd[i]*(m-i);
	for(ll i=m+1;i<=n;i++)sumh=sumh+asd[i]*(i-m);
	for(ll i=1;i<=n;i++){//这个循环看起来很傻 
		ll sumltemp=0,sumhtemp=0;
		if(i<m){//放在龙的位置 
			sumltemp=suml-asd[i]*(m-i)+(asd[i]+s2)*(m-i);
			sumhtemp=sumh;
		}else if(i>m){//放在虎的位置 
			sumltemp=suml;
			sumhtemp=sumh-asd[i]*(i-m)+(asd[i]+s2)*(i-m);
		}else if(i==m){//放中间的情况 
			sumltemp=suml;
			sumhtemp=sumh;
		}
		if(temp>abs(sumhtemp-sumltemp)){
			temp=abs(sumhtemp-sumltemp);
			flag=i;
		}
	} 
	cout<<flag;
	return 0;
} 
2023/10/6 10:21
加载中...