ac#include <bits/stdc++.h> using namespace std; int main() { int n; cin >> n; vector<long long> c(n); for (int i = 0; i < n

李慕航  •  19小时前


include <bits/stdc++.h>

using namespace std;

int main() {

int n;
cin >> n;
vector<long long> c(n);
for (int i = 0; i < n; i++) {
	cin >> c[i];
}
int m, p1;
long long s1, s2;
cin >> m >> p1 >> s1 >> s2;

long long L = 0, T = 0;
for (int i = 1; i <= n; i++) {
	if (i < m) {
		L += c[i - 1] * (m - i);
	} else if (i > m) {
		T += c[i - 1] * (i - m);
	}
}

if (p1 < m) {
	L += s1 * (m - p1);
} else if (p1 > m) {
	T += s1 * (p1 - m);
}

long long best_diff = abs(L - T);
int best_p2 = m;

for (int p2 = 1; p2 <= n; p2++) {
	long long L_new = L;
	long long T_new = T;
	if (p2 < m) {
		L_new += s2 * (m - p2);
	} else if (p2 > m) {
		T_new += s2 * (p2 - m);
	}
	long long diff = abs(L_new - T_new);
	if (diff < best_diff) {
		best_diff = diff;
		best_p2 = p2;
	} else if (diff == best_diff && p2 < best_p2) {
		best_p2 = p2;
	}
}

cout << best_p2 << endl;

return 0;

}


评论:

请先登录,才能进行评论