Pagini recente » Cod sursa (job #1715684) | Cod sursa (job #236135) | Cod sursa (job #2976058) | Cod sursa (job #2362507) | Cod sursa (job #2292833)
#include <iostream>
#include <fstream>
#include <vector>
#include <utility>
#include <algorithm>
using namespace std;
ifstream fin ("rmq.in");
ofstream fout ("rmq.out");
int main()
{
vector<int> v;
vector< pair<int, int> > queries;
int N, M, x, y, a[100010][20];
fin >> N >> M;
for (int i = 0; i < N; i++) {
fin >> x;
v.push_back(x);
}
for (int i = 0; i < M; i++) {
fin >> x >> y;
queries.push_back(make_pair(x, y));
}
for (int i = 0; i < N; i++) {
for (int j = i; j < N; j++) {
if (i == j)
a[i][j] = v[i];
else
a[i][j] = min(a[i][j-1], v[j]);
}
}
for (int i = 0; i < M; i++) {
int f, l;
f = queries[i].first - 1;
l = queries[i].second - 1;
fout << a[f][l] << "\n";
}
return 0;
}