/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
public static int N;
public static int[] leftSmaller(int[] arr) {
int n = arr.length;
int[] left = new int[n];
Stack<Integer> st = new Stack<>();
for (int i = 0; i < n; i++) {
while (!st.isEmpty() && arr[st.peek()] > arr[i]) {
st.pop();
}
left[i] = st.isEmpty() ? -1 : st.peek();
st.push(i);
}
return left;
}
public static int[] rightSmaller(int[] arr) {
int n = arr.length;
int[] right = new int[n];
Stack<Integer> st = new Stack<>();
for (int i = n - 1; i >= 0; i--) {
while (!st.isEmpty() && arr[st.peek()] > arr[i]) {
st.pop();
}
right[i] = st.isEmpty() ? N : st.peek();
st.push(i);
}
return right;
}
{
// your code goes here
int[] arr = {1, 8, 7, 6, 3, 4, 5, 2};
N = arr.length;
int[] contribution = new int[N];
int[] left_smaller = leftSmaller(arr);
int[] right_smaller = rightSmaller(arr);
int ans = 0;
for(int i = 0; i < N; i++){
int i1 = left_smaller[i];
int j1 = right_smaller[i];
i1++;
j1--;
contribution[i] = (x+1)*(y+1);
ans += contribution[i] * arr[i];
}
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCQoJcHVibGljIHN0YXRpYyBpbnQgTjsKCXB1YmxpYyBzdGF0aWMgaW50W10gbGVmdFNtYWxsZXIoaW50W10gYXJyKSB7CiAgICAgICAgaW50IG4gPSBhcnIubGVuZ3RoOwogICAgICAgIGludFtdIGxlZnQgPSBuZXcgaW50W25dOwogICAgICAgIFN0YWNrPEludGVnZXI+IHN0ID0gbmV3IFN0YWNrPD4oKTsKCiAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspIHsKCiAgICAgICAgICAgIHdoaWxlICghc3QuaXNFbXB0eSgpICYmIGFycltzdC5wZWVrKCldID4gYXJyW2ldKSB7CiAgICAgICAgICAgICAgICBzdC5wb3AoKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgbGVmdFtpXSA9IHN0LmlzRW1wdHkoKSA/IC0xIDogc3QucGVlaygpOwoKICAgICAgICAgICAgc3QucHVzaChpKTsKICAgICAgICB9CgogICAgICAgIHJldHVybiBsZWZ0OwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgaW50W10gcmlnaHRTbWFsbGVyKGludFtdIGFycikgewogICAgICAgIGludCBuID0gYXJyLmxlbmd0aDsKICAgICAgICBpbnRbXSByaWdodCA9IG5ldyBpbnRbbl07CiAgICAgICAgU3RhY2s8SW50ZWdlcj4gc3QgPSBuZXcgU3RhY2s8PigpOwoKICAgICAgICBmb3IgKGludCBpID0gbiAtIDE7IGkgPj0gMDsgaS0tKSB7CgogICAgICAgICAgICB3aGlsZSAoIXN0LmlzRW1wdHkoKSAmJiBhcnJbc3QucGVlaygpXSA+IGFycltpXSkgewogICAgICAgICAgICAgICAgc3QucG9wKCk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJpZ2h0W2ldID0gc3QuaXNFbXB0eSgpID8gTiA6IHN0LnBlZWsoKTsKCiAgICAgICAgICAgIHN0LnB1c2goaSk7CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gcmlnaHQ7CiAgICB9CglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb24KCXsKCQkvLyB5b3VyIGNvZGUgZ29lcyBoZXJlCgkJaW50W10gYXJyID0gezEsIDgsIDcsIDYsIDMsIDQsIDUsIDJ9OwoJCU4gPSBhcnIubGVuZ3RoOwoJCWludFtdIGNvbnRyaWJ1dGlvbiA9IG5ldyBpbnRbTl07CgkJCgkJaW50W10gbGVmdF9zbWFsbGVyID0gbGVmdFNtYWxsZXIoYXJyKTsKCQlpbnRbXSByaWdodF9zbWFsbGVyID0gcmlnaHRTbWFsbGVyKGFycik7CgkJCgkJaW50IGFucyA9IDA7CgkJCgkJZm9yKGludCBpID0gMDsgaSA8IE47IGkrKyl7CgkJCWludCBpMSA9IGxlZnRfc21hbGxlcltpXTsKCQkJaW50IGoxID0gcmlnaHRfc21hbGxlcltpXTsKCQkJaTErKzsKCQkJajEtLTsKCQkJCgkJCWludCB4ID0gTWF0aC5hYnMoaS1pMSk7CgkJCWludCB5ID0gTWF0aC5hYnMoaS1qMSk7CgkJCQoJCQljb250cmlidXRpb25baV0gPSAoeCsxKSooeSsxKTsKCQkJCgkJCWFucyArPSBjb250cmlidXRpb25baV0gKiBhcnJbaV07CgkJCQoJCX0KCQlTeXN0ZW0ub3V0LnByaW50KGFucyk7Cgl9Cn0=