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