#include "meetings.h"
#include <bits/stdc++.h>
#define FOR(i, a, b) for (int i = (a), _b = (b); i <= _b; i++)
#define FORD(i, b, a) for (int i = (b), _a = (a); i >= _a; i--)
#define REP(i, n) for (int i = 0, _n = (n); i < _n; i++)
#define FORE(i, v) for (__typeof((v).begin()) i = (v).begin(); i != (v).end(); i++)
#define ALL(v) (v).begin(), (v).end()
#define IS_INF(x) (std::isinf(x))
#define IS_NAN(x) (std::isnan(x))
#define fi first
#define se second
#define MASK(i) (1LL << (i))
#define BIT(x, i) (((x) >> (i)) & 1)
#define div ___div
#define prev ___prev
#define next ___next
#define left ___leftc
#define right ___right
#define __Im_sogood__ main()
#define TIME (1.0 * clock() / CLOCKS_PER_SEC)
#define __builtin_popcount __builtin_popcountll
using namespace std;
const int MAXN = 2e5 + 5;
const long long INF = 1e18;
int n, q;
vector<long long> solve_subtask1(const vector<int>& H, const vector<int>& L, const vector<int>& R) {
vector<long long> answer; REP(i, q) {
int l = L[i], r = R[i]; long long ans = INF; FOR(j, l, r) {
long long res = H[j], mx = H[j]; FORD(k, j - 1, l) { mx = max(mx, (long long)H[k]);
res += mx; }
mx = H[j]; FOR(k, j + 1, r) { mx = max(mx, (long long)H[k]); res += mx; }
ans = min(ans, res);
}
answer.push_back(ans);
}
return answer;
}
vector<long long> minimum_costs(vector<int> H, vector<int> L, vector<int> R) {
n = (int)H.size(); q = (int)L.size();
if(n <= 3000 && q<= 10) return solve_subtask1(H, L, R);
return {};
}
/*void read_fake_input() {
int n, q; vector<int> H, L, R; cin >> n >> q; REP(i, n) {
int x; cin >> x; H.push_back(x);
} REP(i, q) { int x; cin >> x; L.push_back(x); } REP(i, q) {
int x; cin >> x; R.push_back(x);
}
vector<long long> res = minimum_cost(H, L, R); FORE(it, res) cout << (*it) << "\n";
}
__Im_sogood__{
ios_base::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
read_fake_input();
cerr << "Time elapsed: " << TIME << " s.\n";
return 0;
}*/