记录编号 | 21211 | 评测结果 | AAAAAAAAAA | ||
---|---|---|---|---|---|
题目名称 | 懒人的工作 | 最终得分 | 100 | ||
用户昵称 | 是否通过 | 通过 | |||
代码语言 | Pascal | 运行时间 | 0.042 s | ||
提交时间 | 2010-11-08 19:09:02 | 内存使用 | 0.23 MiB | ||
program lazy(input,output); var m,n:longint; i,j:longint; a:array[0..10000,1..2]of longint; f:array[0..10000]of longint; procedure sort(x,y:longint); var i,j:longint; k,p:longint; begin k:=a[(x+y)div 2,1]; i:=x; j:=y; repeat while a[i,1]<k do inc(i); while a[j,1]>k do dec(j); if i<=j then begin p:=a[i,1]; a[i,1]:=a[j,1]; a[j,1]:=p; p:=a[i,2]; a[i,2]:=a[j,2]; a[j,2]:=p; inc(i); dec(j); end; until i>j; if i<y then sort(i,y); if x<j then sort(x,j); end; begin assign(input,'lazy.in'); reset(input); readln(m,n); for i:=1 to n do readln(a[i,1],a[i,2]); close(input); sort(1,n); j:=n; for i:=m downto 1 do if a[j,1]<>i then f[i]:=f[i+1]+1 else begin while (a[j,1]=i) do begin if f[i]<f[i+a[j,2]] then f[i]:=f[i+a[j,2]]; dec(j); end; end; assign(output,'lazy.out'); rewrite(output); writeln(f[1]); close(output); end.