求助1
查看原帖
求助1
750706
Curry_Skyfxxker楼主2022/8/8 20:25
#include<bits/stdc++.h>
using namespace std;
int a[110000],n,m,p1,s1,s2,dragon,tiger;
int main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>a[i];
	}
	cin>>m>>p1>>s1>>s2;
	a[p1]+=s1;
	for(int i=1;i<m;i++){
		dragon+=a[i]*(m-i);
	}
	for(int i=m+1;i<=n;i++){
		tiger+=a[i]*(i-m);
	}
	if(dragon<tiger){
		int minn=(a[1]+s2)*(m-1),p2;
		for(int i=1;i<m;i++){
			int d=dragon; 
			for(int j=1;j<m;j++){
				if(i==j){
					d+=(a[i]+s2)*(m-j);
				}
				else{
					d+=a[i]*(m-j);
				}
			}
			if(abs(d-tiger)<minn){
				minn=abs(d-tiger);
				p2=i;
			}
		}
		cout<<p2;
	}
	else if(dragon>tiger){
		int minn=(a[1]+s2)*(m+1-m),p2;
		for(int i=m+1;i<=n;i++){
			int t=tiger;
			for(int j=m+1;j<=n;j++){
				if(i==j){
					t+=(a[i]+s2)*(j-m);
				}
				else{
					t+=a[i]*(j-m);
				}
			}
			if(abs(t-tiger)<minn){
				minn=abs(t-tiger);
				p2=i;
			}
		}
		cout<<p2;
	}
	else{
		cout<<m;
	}
	return 0;
}
2022/8/8 20:25
加载中...