Programming Challenge #6

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 :stuck_out_tongue:

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);
	    }
    }
}

3 Likes