Cod sursa(job #3248796)

Utilizator Andreea11KPavel Andreea Andreea11K Data 13 octombrie 2024 12:20:55
Problema Range minimum query Scor 20
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.59 kb
#include <fstream>
using namespace std;
ifstream cin ("rmq.in");
ofstream cout("rmq.out");
int main()
{
    int n, q;
    cin >> n >> q;
    int a[n+3];
    int rmq[n+2][n+2];
    for(int i=1; i<=n; i++) {
        cin >> a[i];
        rmq[i][i]=a[i];
    }
    for(int leng=2; leng<=n; leng++)
    {
        for(int i=1; i+leng-1<=n; i++)
        {
            int j=i+leng-1;
            rmq[i][j]=min(rmq[i][j-1], a[j]);
        }
    }
    for(int i=1; i<=q; i++)
    {
        int x, y;
        cin >> x >> y;
        cout << rmq[x][y] << '\n';
    }
    return 0;
}