#include using namespace std; int a[101] = {0}; int main() { //输入+输出重定向 freopen("../1134.txt", "r", stdin); //代表兵营的数量 int n; cin >> n; for (int i = 1; i <= n; i++) { cin >> a[i]; } int m, p1, s1, s2; cin >> m >> p1 >> s1 >> s2; //比m小的是龙方,比m大的是虎方 1-->m-1 m+1-->n // 龙的气势,虎的气势 int dragon = 0, tiger = 0; for (int i = 1; i <= m - 1; ++i) { dragon += (m - i) * a[i]; } for (int i = m + 1; i <= n; ++i) { tiger += (i - m) * a[i]; } //现在s1位工兵出现在p1号兵营 if (p1 < m) { //如果出现在龙一方 dragon += (m - p1) * s1; } else { //如果出现在虎一方 tiger += (p1 - m) * s1; } // 如果存在多个编号同时满足最优,取最小的编号。 // 从第1号兵营开始尝试,找到最合适的解 int minCha = abs(dragon - tiger); int result = 0; if (m == p1) {//这个还往没用的地方放,shit~ result = m; } else if (dragon > tiger) { //放到虎方谁大,就向另一方放 for (int i = m + 1; i <= n; i++) { int t = tiger; t += s2 * (i - m); if (abs(dragon - t) < minCha) { //cout << "虎:dragon:" << dragon << ",tiger:" << t << endl; minCha = abs(dragon - t); result = i; } } } else { //放到龙方 for (int i = 1; i <= m - 1; i++) { int t = dragon; t += s2 * (m - i); if (abs(t - tiger) < minCha) { //cout << "龙:dragon:" << t << ",tiger:" << tiger << ",加了" << s2 * (m - i) << endl; minCha = abs(t - tiger); result = i; } } } //输出: //输出文件有一行,包含一个正整数,即 p2,表示你选择的兵营编号。如果存在多个编号同时满足最优,取最小的编号。 cout << result << endl; //关闭文件 fclose(stdin); return 0; }