各位大佬最后几个点tle了,各位大佬帮我这个弱鸡优化一下吧...
查看原帖
各位大佬最后几个点tle了,各位大佬帮我这个弱鸡优化一下吧...
406087
Uninreal_Enginety_3D楼主2020/11/2 20:36
#include<bits/stdc++.h>
using namespace std;

int n=0;
long long a[9999999],b[9999999];
long long m,s1,s2;
int p1;
long long longqishi=0;
long long huqishi=0;
long long cha=0;
int p2=0;
long long qishi(long long gongbing,long long juli){
	return gongbing*juli;
}

long long temp;
int main(){
	ios_base::sync_with_stdio(false);
	cin.tie(0);
	//freopen("fight.in","r",stdin);
	//freopen("fight.out","w",stdout);
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>a[i];
		b[i]=a[i];
	}
	cin>>m>>p1>>s1>>s2;
	a[p1]+=s1;
	b[p1]+=s1;
	for(int i=1;i<m;i++){
		longqishi+=qishi(a[i],abs(m-i));
	}
	for(int i=m+1;i<=n;i++){
		huqishi+=qishi(a[i],abs(m-i));
	}
	if(huqishi-longqishi==0){
		cout<<m;
		return 0;
	}else{
		p2=m;
		temp=abs(longqishi-huqishi);
		for(int i=1;i<=n;i++){
			longqishi=0;
			huqishi=0;
			b[i]+=s2;
			
			for(int longqishii=1;longqishii<m;longqishii++){
				longqishi+=qishi(b[longqishii],abs(m-longqishii));
			}
			for(int huqishii=m+1;huqishii<=n;huqishii++){
				huqishi+=qishi(b[huqishii],abs(m-huqishii));
				//cout<<huqishi<<endl;
			}
			
			cha=abs(longqishi-huqishi);	
			//cout<<"longqishi:"<<longqishi<<" "<<"huqishi:"<<huqishi<<" cha:"<<cha<<endl;
			if(cha<temp){
				temp=cha;
				p2=i;
			}	
			b[i]=a[i];	
		}
	}
	//cout<<longqishi<<endl<<huqishi;
	cout<<p2;
	return 0;
}
/*
6
1 1 1 1 1 16
5 4 1 1

6
2 3 2 3 2 3
4 6 5 2
*/
2020/11/2 20:36
加载中...