来自 64分蒟蒻的求助QWQ
查看原帖
来自 64分蒟蒻的求助QWQ
701408
lao_wang楼主2023/6/14 22:16

这个是AW扣分情况 这是源代码:

#include<bits/stdc++.h>	
using namespace std ;
long long n , a[123456] , m , q , s1 , s2 , sum1 , sum2 , force[123456] , minn=1e+8 , num ;
int main() {
//	freopen("1.in","r",stdin) ;
//	freopen("1.out","w",stdout);
	cin >> n ;
	for(int i=1; i<=n; i++) {
		cin >> a[i] ;
	}
	cin >> m >> q >> s1 >> s2 ;
	a[q] += s1 ;
	for(int i=1; i<=n; i++) {
		if(i<m) {
			force[i] = a[i]*(m-i) ;
			sum1 += force[i] ;
		} else if(i>m) {
			force[i] = a[i]*(i-m) ;
			sum2 += force[i] ;
		}
	}
	if(sum1>sum2) {
		for(int i=m; i<=n; i++) {
			int temp = force[i] ;
			temp += (a[i]+s2)*(i-m) ;
			if(minn>abs(temp+sum2-force[i]-sum1)) {
				minn = abs(temp+sum2-force[i]-sum1) ;
				num = i ;
			}
		}
	} else if(sum2>sum1) {
		for(int i=1; i<=m; i++) {
			int temp ;
			temp = (a[i]+s2)*(m-i) ;
			if(minn>abs(temp+sum1-force[i]-sum2)) {
				minn = abs(temp+sum1-force[i]-sum2) ;
				num = i ;
			}
		}
	}
	if(!num||minn>abs(sum1-sum2)){
		cout << m ;
		return 0 ;
	}
	cout << num ; 

有没有大佬帮助一下QWQ

2023/6/14 22:16
加载中...