Cod sursa(job #3236225)
Utilizator | Data | 26 iunie 2024 16:47:23 | |
---|---|---|---|
Problema | Range minimum query | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.29 kb |
#include <fstream>
using namespace std;ifstream f("rmq.in");ofstream g("rmq.out");int a[17][1<<17];int n,q,i,j=1,k,l,r;main(){f>>n>>q;for(;i<n;i++)f>>a[0][i];for(;j<17;j++)for(i=0;i<n;i++)a[j][i]=min(a[j-1][i],a[j-1][i+1<<j-1]);for(;f>>l>>r;k=__lg(r-l+1),g<<min(a[k][l-1],a[k][r-(1<<k)])<<'\n');}