Cod sursa(job #3236205)

Utilizator AztecaVlad Tutunaru 2 Azteca Data 26 iunie 2024 16:17:47
Problema Range minimum query Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.36 kb
#include <fstream> 
using namespace std;int n,q,g[18][300007],lg[100007],l,r,p;ifstream i("rmq.in");ofstream o("rmq.out");int main(){i>>n>>q;lg[0]=-1;for(int i=1;i<=n;++i)i>>g[0][i],lg[i]=lg[i/2]+1;for(int j=1;j<=17;++j)for(int i=1;i<=n;++i)g[i][j]=min(g[j-1][i],g[j-1][i+(1<<(j-1))]);while(q--){i>>l>>r;p=lg[r-l+1];o<<min(g[p][l],g[p][r-(1<<p)+1])<<"\n";}return 0;}