80分求助!!!最后几个点TLE,大佬帮忙看下能不能优化一下QWQ
查看原帖
80分求助!!!最后几个点TLE,大佬帮忙看下能不能优化一下QWQ
251452
Shengjiehu楼主2020/11/5 21:29
#include<bits/stdc++.h>
using namespace std;
int army[100000];
struct chaju{
	int temp,ch;
}c[100000];
bool cmp(chaju a,chaju b){
	return a.ch<b.ch;
}
int n,m,p1,s1,s2,minn=100000;//兵营,分界线,加兵兵营,加兵初始,派兵数量 
int main(){
	//freopen("fight.in","r",stdin);
	//freopen("fight.out","w",stdout);
	cin>>n;
	for(int i=1;i<=n;i++)cin>>army[i];
	cin>>m>>p1>>s1>>s2;
	army[p1]+=s1;
	for(int i=1;i<=n;i++){
		army[i]+=s2;
		int l=0,h=0;
		//dragon
		for(int j=1;j<m;j++)l+=army[j]*abs(m-j);
		//tiger
		for(int k=m+1;k<=n;k++)h+=army[k]*abs(m-k);
		c[i].ch=abs(l-h);
		c[i].temp=i; 
		army[i]-=s2;
	}
	sort(c+1,c+1+n,cmp);
	cout<<c[1].temp;
	return 0;
}
2020/11/5 21:29
加载中...