pascal 奶牛的歌声 高手进

题目描述农夫约翰的N(1<=N<=1000)头奶牛喜欢站成一排一起唱歌(当然我们能听见的只是牛叫)。每头奶牛都有自己独特的身高h(1<=h<=2,000,000,000)... 题目描述农夫约翰的N(1<=N<=1000)头奶牛喜欢站成一排一起唱歌(当然我们能听见的只是牛叫)。每头奶牛都有自己独特的身高h(1<=h<=2,000,000,000),并且唱歌时的音量为v(1<=v<=10,000)。每头奶牛的叫声都会从她所在的位置出发,向队列的两边传播(当然,站在队伍两端的奶牛例外)。并且,FJ注意到一个奇特的事实:当某头奶牛唱歌时,整个队伍中,在左右两个方向上,只有身高比她高且与她最接近的奶牛能听见她的歌声(也就是说,任何一头奶牛的叫声可能被0头、1头或2头奶牛听到,这取决于在这头奶牛的左右方向上有没有比她更高的奶牛)。
每头奶牛在唱歌时所听到的总音量,定义为她所能听见的所有其他奶牛歌声音量的和。考虑到某些奶牛(一般是较高的那些)听到的总音量很高,为了保护她们的听力,FJ决定为听到总音量最高的奶牛买副耳套。他想请你计算一下,在整个队列中,所听到总音量最高的那头奶牛听到的总音量的具体数值。
输入格式:
第1行: 一个正整数,N
第2到N+1行: 每行包括2个用空格隔开的整数,分别代表站在队伍中第i个位置的奶牛的身高以及她唱歌时的音
please
展开
 我来答
武风002
2014-10-17 · TA获得超过858个赞
知道小有建树答主
回答量:1016
采纳率:100%
帮助的人:308万
展开全部
好吧,有没有数据?
编出来,想检验一下
算了直接给你吧,有错你再追问
var a,b,c:array[1..10001]of longint;
i,j,k,l,t,n,x:longint;
begin
readln(n);
for i:=1 to n do read(a[i],b[i]);
for i:=2 to n do if a[i]>a[1] then begin
c[i]:=c[i]+b[1];
break;
end;
for i:=2 to n-1 do begin
for j:=i-1 downto 1 do
if a[j]>a[i] then begin
c[j]:=c[j]+b[i];
break;
end;
for j:=i+1 to n do
if a[j]>a[i] then begin
c[j]:=c[j]+b[i];
break;
end;
end;
for i:=n-1 downto 1 do if a[i]>a[n] then begin
c[i]:=c[i]+b[n];
break;
end;
t:=-1;
for i:=1 to n do if c[i]>t then t:=c[i];
writeln(t);
end.
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式