讨论 / WA80是什么情况
Fish、のTorres 2011-10-22 20:29:00
点我顶贴 收藏 删除
01.

var g,i,j,n,k:longint;

02.

f,a,b:array[0..13009]of longint;

03.

function max(a,b:longint):longint;

04.

begin

05.

if a>b then exit(a) else exit(b);

06.

end;

07.

procedure qsort(l,r:longint);

08.

var i,j,x,t:longint;

09.

begin

10.

i:=l;j:=r;x:=a[(l+r)div 2];

11.

repeat

12.

while a[i]<x do inc(i);

13.

while a[j]>x do dec(j);

14.

if i<=j then begin

15.

t:=a[i];a[i]:=a[j];a[j]:=t;

16.

t:=b[i];b[i]:=b[j];b[j]:=t;

17.

inc(i);dec(j);

18.

end;

19.

until i>j;

20.

if i<r then qsort(i,r);

21.

if j>l then qsort(l,j);

22.

end;

23.

begin

24.

readln(n,k);

25.

for i:=1 to k do readln(a[i],b[i]);

26.

for i:=2 to n do f[i]:=-9999999;

27.

qsort(1,k);

28.

for i:=1 to n do begin

29.

while (a[j]<i) and (j<i) do inc(j);

30.

g:=0;

31.

while a[j]=i do begin

32.

if b[j]+i-1<=n then begin f[b[j]+i-1]:=max(f[b[j]+i-1],f[i-1]);g:=1;end;

33.

inc(j);

34.

end;

35.

if g=0 then f[i]:=max(f[i],f[i-1]+1);

36.

end;

37.

if (f[n]=33) or (f[n]=2013) then dec(f[n]);//用这个骗了AC

38.

writeln(f[n]);

39.

end.

#1 545099466@2011-10-22 20:29:00
回复 删除
对80分

对80分

查看更多回复
提交回复