#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int, int> ii;
const int INF = 1e9;
const ll LINF = 1e18;
const int N = 2e5 + 5;
int n, q;
int a[N];
ll pref[N];
int f[18][N]; // f[k][i] = max của đoạn bắt đầu từ i và có độ dài là 2^k
int nxt[18][N];
ll cost[18][N];
void precompute() {
for (int i = 1; i <= n; i++) pref[i] = pref[i - 1] + a[i];
for (int i = 1; i <= n; i++) f[0][i] = a[i];
for (int k = 1; (1 << k) <= n; k++) {
for (int i = 1; i + (1 << k) - 1 <= n; i++) {
f[k][i] = max(f[k - 1][i], f[k - 1][i + (1 << (k - 1))]);
}
}
}
ll getSum(int l, int r) {
return pref[r] - pref[l - 1];
}
int getMax(int l, int r) {
int k = log2(r - l + 1);
return max(f[k][l], f[k][r - (1 << k) + 1]);
}
// Tìm vị trí j gần nhất bên phải sao cho a[j] > a[i]
int findNext(int i) {
int l = i + 1, r = n, ans = n + 1;
while (l <= r) {
int mid = (l + r) >> 1;
if (getMax(i, mid) > a[i]) {
ans = mid;
r = mid - 1;
}
else {
l = mid + 1;
}
}
return ans;
}
int main() {
ios::sync_with_stdio(0); cin.tie(0);
cin >> n >> q;
for (int i = 1; i <= n; i++) cin >> a[i];
precompute();
// nxt[0][i] = vị trí j gần nhất bên phải sao cho a[j] > a[i]
// Khi đó a[i] chính là max của đoạn [i, nxt[0][i] - 1]
// cost[0][i] = Tổng số thao tác ít nhất cần sử dụng của đoạn [i, nxt[0][i] - 1]
for (int i = 1; i <= n; i++) {
nxt[0][i] = findNext(i);
cost[0][i] = 1ll * (nxt[0][i] - i) * a[i] - getSum(i, nxt[0][i] - 1);
}
nxt[0][n + 1] = n + 1;
cost[0][n + 1] = 0;
for (int k = 1; k <= 17; k++) {
for (int i = 1; i <= n + 1; i++) {
nxt[k][i] = nxt[k - 1][nxt[k - 1][i]];
cost[k][i] = cost[k - 1][i] + cost[k - 1][nxt[k - 1][i]];
}
}
while (q--) {
int l, r;
cin >> l >> r;
ll ans = 0;
for (int k = 17; k >= 0; k--) {
if (nxt[k][l] <= r) {
ans += cost[k][l];
l = nxt[k][l];
}
}
ans += 1ll * (r - l + 1) * a[l] - getSum(l, r); // đoạn còn dư ra
cout << ans << '\n';
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+IAp1c2luZyBuYW1lc3BhY2Ugc3RkOyAgCgp0eXBlZGVmIGxvbmcgbG9uZyBsbDsgIAp0eXBlZGVmIHBhaXI8aW50LCBpbnQ+IGlpOyAgCgpjb25zdCBpbnQgSU5GID0gMWU5OyAgCmNvbnN0IGxsIExJTkYgPSAxZTE4OyAgCgpjb25zdCBpbnQgTiA9IDJlNSArIDU7IAoKaW50IG4sIHE7IAppbnQgYVtOXTsgCgpsbCBwcmVmW05dOwppbnQgZlsxOF1bTl07IC8vIGZba11baV0gPSBtYXggY+G7p2EgxJFv4bqhbiBi4bqvdCDEkeG6p3UgdOG7qyBpIHbDoCBjw7MgxJHhu5kgZMOgaSBsw6AgMl5rCgppbnQgbnh0WzE4XVtOXTsgCmxsIGNvc3RbMThdW05dOyAKCnZvaWQgcHJlY29tcHV0ZSgpIHsKCWZvciAoaW50IGkgPSAxOyBpIDw9IG47IGkrKykgcHJlZltpXSA9IHByZWZbaSAtIDFdICsgYVtpXTsgCgoJZm9yIChpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKSBmWzBdW2ldID0gYVtpXTsgIAoKCWZvciAoaW50IGsgPSAxOyAoMSA8PCBrKSA8PSBuOyBrKyspIHsKCQlmb3IgKGludCBpID0gMTsgaSArICgxIDw8IGspIC0gMSA8PSBuOyBpKyspIHsKCQkJZltrXVtpXSA9IG1heChmW2sgLSAxXVtpXSwgZltrIC0gMV1baSArICgxIDw8IChrIC0gMSkpXSk7IAoJCX0KCX0KfQoKbGwgZ2V0U3VtKGludCBsLCBpbnQgcikgewoJcmV0dXJuIHByZWZbcl0gLSBwcmVmW2wgLSAxXTsgCn0KCmludCBnZXRNYXgoaW50IGwsIGludCByKSB7CglpbnQgayA9IGxvZzIociAtIGwgKyAxKTsgCglyZXR1cm4gbWF4KGZba11bbF0sIGZba11bciAtICgxIDw8IGspICsgMV0pOyAKfQoKLy8gVMOsbSB24buLIHRyw60gaiBn4bqnbiBuaOG6pXQgYsOqbiBwaOG6o2kgc2FvIGNobyBhW2pdID4gYVtpXQppbnQgZmluZE5leHQoaW50IGkpIHsKCWludCBsID0gaSArIDEsIHIgPSBuLCBhbnMgPSBuICsgMTsgIAoJd2hpbGUgKGwgPD0gcikgewoJCWludCBtaWQgPSAobCArIHIpID4+IDE7IAoKCQlpZiAoZ2V0TWF4KGksIG1pZCkgPiBhW2ldKSB7CgkJCWFucyA9IG1pZDsgCgkJCXIgPSBtaWQgLSAxOyAKCQl9CgkJZWxzZSB7CgkJCWwgPSBtaWQgKyAxOyAKCQl9Cgl9CgoJcmV0dXJuIGFuczsgCn0KCmludCBtYWluKCkgewoJaW9zOjpzeW5jX3dpdGhfc3RkaW8oMCk7IGNpbi50aWUoMCk7ICAJCgljaW4gPj4gbiA+PiBxOyAKCWZvciAoaW50IGkgPSAxOyBpIDw9IG47IGkrKykgY2luID4+IGFbaV07IAoKCXByZWNvbXB1dGUoKTsgICAKCQoJLy8gbnh0WzBdW2ldID0gduG7iyB0csOtIGogZ+G6p24gbmjhuqV0IGLDqm4gcGjhuqNpIHNhbyBjaG8gYVtqXSA+IGFbaV0KCS8vIEtoaSDEkcOzIGFbaV0gY2jDrW5oIGzDoCBtYXggY+G7p2EgxJFv4bqhbiBbaSwgbnh0WzBdW2ldIC0gMV0KCS8vIGNvc3RbMF1baV0gPSBU4buVbmcgc+G7kSB0aGFvIHTDoWMgw610IG5o4bqldCBj4bqnbiBz4butIGThu6VuZyBj4bunYSDEkW/huqFuIFtpLCBueHRbMF1baV0gLSAxXQoJZm9yIChpbnQgaSA9IDE7IGkgPD0gbjsgaSsrKSB7CgkJbnh0WzBdW2ldID0gZmluZE5leHQoaSk7IAoJCWNvc3RbMF1baV0gPSAxbGwgKiAobnh0WzBdW2ldIC0gaSkgKiBhW2ldIC0gZ2V0U3VtKGksIG54dFswXVtpXSAtIDEpOwoJfQoJbnh0WzBdW24gKyAxXSA9IG4gKyAxOyAKCWNvc3RbMF1bbiArIDFdID0gMDsgIAoKCWZvciAoaW50IGsgPSAxOyBrIDw9IDE3OyBrKyspIHsKCQlmb3IgKGludCBpID0gMTsgaSA8PSBuICsgMTsgaSsrKSB7CgkJCW54dFtrXVtpXSA9IG54dFtrIC0gMV1bbnh0W2sgLSAxXVtpXV07IAoJCQljb3N0W2tdW2ldID0gY29zdFtrIC0gMV1baV0gKyBjb3N0W2sgLSAxXVtueHRbayAtIDFdW2ldXTsgCgkJfQoJfQoKCXdoaWxlIChxLS0pIHsKCQlpbnQgbCwgcjsgCgkJY2luID4+IGwgPj4gcjsgCgoJCWxsIGFucyA9IDA7ICAKCQlmb3IgKGludCBrID0gMTc7IGsgPj0gMDsgay0tKSB7CgkJCWlmIChueHRba11bbF0gPD0gcikgewoJCQkJYW5zICs9IGNvc3Rba11bbF07IAoJCQkJbCA9IG54dFtrXVtsXTsgCgkJCX0KCQl9CgkJYW5zICs9IDFsbCAqIChyIC0gbCArIDEpICogYVtsXSAtIGdldFN1bShsLCByKTsgLy8gxJFv4bqhbiBjw7JuIGTGsCByYSAKCgkJY291dCA8PCBhbnMgPDwgJ1xuJzsgCgl9Cn0=