积水问题 class Solution { public: int shui(int L,int W,vector<int> arr) { vector<int> gaodu; for (int a : arr) { gaodu.push_back(10 - a); } for (int a : gaodu) { cout << a << " "; } vector<int> gaodu1(gaodu); gaodu.push_back(0); vector<int> shuimian; for (int i=gaodu.size()-1;i>0;--i)  { shuimian.push_back(max(gaodu[i], gaodu[i - 1])); gaodu[i - 1] = max(gaodu[i], gaodu[i - 1]); } reverse(shuimian.begin(), shuimian.end()); for (int a:shuimian) { cout << a << " "; } int sz = shuimian.size() - 1; int shui = 0; while (sz>=0) { shui = shui + (shuimian[sz] - gaodu1[sz])*W; sz--; } return shui; } }; int main() { int W, L; cin >> W >> L; vector<int> arr; for (int i=0;i<L;++i) { int tmp; cin >> tmp; arr.push_back(tmp); } Solution S; int jishui; jishui = S.shui(L, W, arr); cout << endl; cout << jishui << endl; system("pause"); return 0; }