求助!

program p1659;

var

a,sum,left,right:array[1..1000000] of longint;

i,j,k,n,m,x,y,z:longint;

function max(x,y:longint):longint;

begin

if x>y then exit(x)

else exit(y);

end;

procedure creat(root,h,t:longint);

var

m:longint;

begin

if h>t then exit;

left[root]:=h;

right[root]:=t;

if h=t then sum[root]:=a[h]

else

begin

m:=(h+t) div 2;

creat(root*2,h,m);

creat(root*2+1,m+1,t);

sum[root]:=max(sum[root*2],sum[root*2+1]);

end;

end;

procedure change(root,h,t,num:longint);

begin

if (left[root]>t)or(right[root]t)or(right[root]=h)and(right[root]

3 条评论

  • @ 2009-10-03 15:17:18

    !!

    你的不会超时吗,你直接递到最小的儿子对它加c

    这样好像时间不行吧

    其他的如陈大牛说的

  • @ 2009-10-03 14:41:29

    LZ名字真不文明

  • @ 2009-10-03 14:08:45

    不能writeln 要write

    你是否已经考虑了 c 可能为负的情况?

  • 1

信息

ID
1659
难度
7
分类
数据结构 | 线段树 点击显示
标签
(无)
递交数
2095
已通过
323
通过率
15%
被复制
12
上传者