fork download
  1. #include <iostream>
  2. #include <vector>
  3. #include <algorithm>
  4.  
  5. using namespace std;
  6.  
  7. int main() {
  8. ios_base::sync_with_stdio(false);
  9. cin.tie(nullptr);
  10.  
  11. int n;
  12. cin >> n;
  13. vector<int> a(n);
  14.  
  15. // Nhập độ cao
  16. for (int i = 0; i < n; i++) {
  17. cin >> a[i];
  18. }
  19.  
  20. // Tính tổng lượng nước đọng
  21. long long ans = 0;
  22. for (int i = 0; i < n; i++) {
  23. // Tìm max_left và max_right
  24. int max_left = 0, max_right = 0;
  25.  
  26. for (int j = 0; j <= i; j++) {
  27. max_left = max(max_left, a[j]);
  28. }
  29.  
  30. for (int j = i; j < n; j++) {
  31. max_right = max(max_right, a[j]);
  32. }
  33.  
  34. // Tính nước đọng tại vị trí i
  35. ans += max(0, min(max_left, max_right) - a[i]);
  36. }
  37.  
  38. cout << ans << '\n';
  39. return 0;
  40. }
Success #stdin #stdout 0.01s 5292KB
stdin
12
0 1 0 2 1 0 1 3 2 1 2 1
stdout
6