#include <iostream>
#include <stack>
using namespace std;
struct node { int idx; long long h; };
int main() {
ios_base::sync_with_stdio(false); cin.tie(nullptr);
int n;
long long res=0;
stack<node> st; //단조 증가 스택
cin >> n;
for(int i=0; i<n; i++) {
long long h;
cin >> h;
while(!st.empty()&&st.top().h>h) {
node S=st.top(); st.pop();
long long val=0;
if(!st.empty()) val=(i-st.top().idx-1)*S.h; // 왼쪽 경계 ~ i
else val=i*S.h; // 마지막 조각
res=(res>val?res:val);
}
st.push({i, h});
}
while(!st.empty()) {
node S=st.top(); st.pop();
long long val=0;
if(!st.empty()) val=(n-st.top().idx-1)*S.h; // 왼쪽 경계 ~ i
else val=n*S.h; // 마지막 조각22
//cout << val << '\n';
res=(res>val?res:val);
}
cout << res;
}
Pour intégrer ce projet à votre site web, copiez le code suivant et collez-le dans le HTML de votre site web :