90分大佬求助
查看原帖
90分大佬求助
278601
JMR_NUKSE楼主2020/7/15 16:19
#include <bits/stdc++.h>
using namespace std;
int main() {
	long long n,m,p1,s1=0,s2=0,x=0,y=0,WA=999999999;//四个正整数,相邻两数间以一个空格分隔,分别代表 m,p1,s1,s2;l和h分别表示龙和虎的气势和 
	cin>>n;
	int c[n+1];
	for(int i=1;i<=n;i++){
		cin>>c[i];
	}
	cin>>m>>p1>>s1>>s2;
	long long out=m;
	for(int i=1;i<m;i++){
		if(i==p1){
			x+=(c[i]+s1)*(m-i);//cout<<endl<<(c[i]+s1)*(m-i);
		}
		else{
			x+=c[i]*(m-i);//cout<<endl<<c[i]*(m-i);
		}
	}
	for(int i=m+1;i<=n;i++){
		if(i==p1){
			y+=(c[i]+s1)*(i-m);//cout<<endl<<(c[i]+s1)*(i-m);
		}
		else{
			y+=c[i]*(i-m);//cout<<endl<<c[i]*(i-m);
		}
	}
	int z=x-y;WA=9999999999999;
	for(int i=n;i>=1;i--){
			if(abs(z+s2*(m-i))<WA){
			WA=abs(z+s2*(m-i));
			out=i;}
		
		/*if(i>m){
			}cout<<abs(z+s2*(m-i))<<" ";
		}
		if(i<m){
			if(abs(z+s2*(i-m))<WA){
			WA=abs(z+s2*(i-m));
			out=i;
			}cout<<abs(z+s2*(i-m))<<" ";
		if(i==m){
			if(z<WA){
			WA=z;
			out=i;
			}
		}
		}*/
	}
	cout<<out;//l<<" "<<h
	return 0;
}
2020/7/15 16:19
加载中...