Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
118373 | 曾煦翔 | 收集雨水 | C++ | 通过 | 100 | 2 MS | 484 KB | 592 | 2023-12-30 10:28:07 |
#include <bits/stdc++.h> using namespace std; #define int long long const int N = 1e5 + 5; int n; int s[N] , h[5][N] , sum , maxn = -1; signed main() { cin >> n; for (int i = 1;i <= n;i++) cin >> s[i]; for (int i = 1;i <= n;i++) { h[0][i] = maxn; maxn = max(maxn , s[i]); } maxn = 0; for (int i = n;i >= 1;i--) { h[1][i] = maxn; maxn = max(maxn , s[i]); } for (int i = 1;i <= n;i++) { int x = min(h[1][i] , h[0][i]) - s[i]; if (x > 0) sum += x; } cout << sum; return 0; }