3381: [Usaco2004 Open]Cave Cows 2 洞穴里的牛之二

3381: [Usaco2004 Open]Cave Cows 2 洞穴里的牛之二

Time Limit: 10 Sec  Memory Limit: 128 MB
Submit: 21  Solved: 18
[Submit][Status][Discuss]

Description

    洞窟里有一道长长的通道.它由N(1≤N≤25000)段道尾相连构成,编号分别为1到N.每个通道有一个阈值,其范围在[1,10^9]依次通过i..j的通道,那奶牛的体重指数就不能超过i..j通道中阈值的最小值.贝茜有Q(1≤Q≤25000)个问题,想请教你由i到j的通道的阈值的最小值.

Input

    第1行输入N和Q,接下来N行输入每个通道的阈值,之后Q行每行两个整数,对应问题中的i和j(i<j).

Output

   对于每个问题,输出其结果.

Sample Input

10 4
75
30
100
38
50
51
52
20
81
5
1 10
3 5
6 9
8 10

Sample Output

5
38
20
5

HINT

 

Source

Orange

题解:RMQ模板题。。。感觉自己水水哒

 /**************************************************************
Problem:
User: HansBug
Language: Pascal
Result: Accepted
Time: ms
Memory: kb
****************************************************************/ var
i,j,k,l,m,n,h:longint;
a:array[..,..] of longint;
function min(x,y:longint):longint;
begin
if x<y then min:=x else min:=y;
end;
begin
readln(n,m);
h:=trunc(ln(n)/ln()+);
for i:= to n do readln(a[i,]);
for i:= to h do
for j:= to n-trunc(exp(ln()*i))+ do
a[j,i]:=min(a[j,i-],a[j+trunc(exp(ln()*(i-))),i-]); for i:= to m do
begin
readln(j,k);
l:=trunc(ln(k-j+)/ln());
writeln(min(a[j,l],a[k-trunc(exp(ln()*l))+,l]));
end;
readln;
end.
上一篇:iOS 两个页面之间的跳转


下一篇:Activity 5秒 Broadcast 10秒 Service 20秒