社区讨论

,。

P5017[NOIP 2018 普及组] 摆渡车参与者 2已保存回复 1

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
1 条
当前快照
1 份
快照标识符
@mi7d4gst
此快照首次捕获于
2025/11/20 19:43
4 个月前
此快照最后确认于
2025/11/20 19:43
4 个月前
查看原帖
#include
int c[100005], n, m, p1, p2, s1, s2;
void Work() {
CPP
long long dragon = 0, tiger = 0, newdragon, newtiger, diff, mindiff = 0x7FFFFFFFFFFFFFFF;
for (int i = 1; i <= n; i++) {
if (i < m) dragon += 1LL * (m - i) * c[i];
if (i > m) tiger += 1LL * (i - m) * c[i];
} if (p1 < m) dragon += 1LL * (m - p1) * s1;
CPP
if (p1 > m) tiger += 1LL * (p1 - m) * s1;
for (int i = 1; i <= n; i++) {
newdragon = dragon; newtiger = tiger;
if (i < m) newdragon = dragon + 1LL * (m - i) * s2;
if (i > m) newtiger = tiger + 1LL * (i - m) * s2;
	diff = newdragon > newtiger ? newdragon - newtiger : newtiger - newdragon;
if (mindiff > diff) { mindiff = diff; p1 = i; 		}
	}
}
int main() {
CPP
//freopen("tiger.in", "r", stdin);
 //freopen("tiger.out", "w", stdout);

scanf("%d", &n);
for (int i = 1; i <= n; i++) scanf("%d", c + i);
scanf("%d%d%d%d", &m, &p1, &s1, &s2);
Work();
       printf("%d", p1);

	return 0;
}

回复

1 条回复,欢迎继续交流。

正在加载回复...