In order to complete the table in The Price of Scripting, I will add a couple more implementations:
Lua
#!/usr/bin/lua
n, t = io.read ("*n", "*n")
w= {}
for i=0, n - 1 do
w[i] = io.read("*n")
end
for k=1, t do
i,j = io.read("*n", "*n")
print (math.min(table.unpack(w, i, j)))
end
Perl
#!/usr/bin/perl
use List::Util qw( min max );
($n, $t) = split(/\s+/, <>);
@w = split (/\s+/, <>);
while (($i, $j) = split (/\s+/, <>))
{
print min( @w[$i..$j]) . "\n";
}
Java
My Java is a bit rusty
import java.io.*;
import java.util.*;
public class c6
{
public static void main (String[] args)
{
int k;
Scanner in = new Scanner(System.in);
int n = in.nextInt();
int t = in.nextInt();
int[] w = new int[n];
for (k = 0; k < n; k++) w[k] = in.nextInt();
for (k = 0; k < t; k++)
{
int i = in.nextInt();
int j = in.nextInt();
int r = 3;
for (int l = i; l < j + 1; l++) if (w[l] < r) r = w[l];
System.out.println (r);
}
}
}