80分求调
查看原帖
80分求调
673860
io_oiyhs楼主2023/10/15 15:22

也开ll了,后五个全RE

#include <bits/stdc++.h>
#define N 10010
#define ll long long
using namespace std;
ll n,m,p1,p2,s1,s2;
ll ti=0,dra=0,mi=0x3f3f3f3f;
struct nd{
	ll num,far,iflu;
}c[N];
int main(){
	cin>>n;
	for(ll i=1;i<=n;i++) cin>>c[i].num;
	cin>>m>>p1>>s1>>s2;
	c[p1].num+=s1;
	for(ll i=1;i<=n;i++){
		c[i].far=abs(m-i);
		c[i].iflu=c[i].far*c[i].num;
		if(i<m) ti+=c[i].iflu;
		if(i>m) dra+=c[i].iflu;
	}
	mi=abs(dra-ti);
	p2=m;
	for(ll i=1;i<=n;i++){
		if(i<m){
			ll a=ti;
			a-=c[i].iflu;
			c[i].num+=s2;
			c[i].iflu=c[i].num*c[i].far;
			a+=c[i].iflu;
			if(abs(a-dra)<mi){
				mi=abs(a-dra);
				p2=i;
			}
		}
		if(i>m){
			ll a=dra;
			a-=c[i].iflu;
			c[i].num+=s2;
			c[i].iflu=c[i].num*c[i].far;
			a+=c[i].iflu;
			if(abs(a-ti)<mi){
				mi=abs(a-ti);
				p2=i;
			}		
		}
	}		
	cout<<p2;
	return 0;
}

求助神犇

2023/10/15 15:22
加载中...