- 问答
这龙虎斗做了3个小时,感觉没问题呀,只有64
- 2023-11-19 11:13:53 @
#include<iostream>
#include<math.h>
using namespace std;
long long a[100010];
long long n, m, p1, s1, s2;
long long qishi1 = 0, qishi2 = 0;
int main()
{
cin >> n;
for (int i = 1; i <= n; i++)
{
cin >> a[i];
}
cin >> m >> p1 >> s1 >> s2;
a[p1] += s1;
for (int i = 1; i < m; i++)
{
qishi1 += a[i] * (m - i);
}
for (int i = m + 1; i <= n; i++)
{
qishi2 += a[i] * (i - m);
}
long long qishimin = abs(qishi1 - qishi2);
int minu = 0;
if (qishi1 < qishi2)
{
for (int i = 1; i < m; i++)
{
if (abs(qishi1 + s2 * (m - i) - qishi2) < qishimin)
{
qishimin = abs(qishi1 + s2 * (m - i) - qishi2);
minu = i;
}
}
}
else if(qishi1 > qishi2)
{
for (int i = m + 1; i <= n; i++)
{
if (abs(qishi2 + s2 * (i - m) - qishi1) < qishimin)
{
qishimin = abs(qishi2 + s2 * (i - m) - qishi1);
minu = i;
}
}
}
cout << minu;
return 0;
}
3 comments
-
经开一中2026届11班关泽瑞 LV 6 @ 2023-11-22 21:07:17
牛,能看懂龙虎斗
-
2023-11-21 14:28:25@
ok,解决了,把minu = 0 改成minu = m就好了
-
2023-11-21 8:32:14@
我俩小时就做出来6分😒
- 1