回 帖 发 新 帖 刷新版面

主题:苹果摘陶陶

背景 
根据去年的Noip普及组第一题衍生出的一题。
但是有一点点的恶搞成分在里面.....
描述 
话说去年苹果们被陶陶摘下来后都很生气,于是就用最先进的克隆技术把陶陶克隆了好多份>.<然后把他们挂在树上,准备摘取。
摘取的规则是,一个苹果只能摘一个陶陶,且只能在它所能摘到的高度以下(即是小于关系)的最高的陶陶,如果摘不到的话只能灰溜溜的走开了>.<给出苹果数目及每个苹果可以够到的高度和各个陶陶的高度,求苹果们都摘完后剩下多少个陶陶……

输入格式
第一行为两个数,分别为苹果的数量n和陶陶的数量m(n,m<=2000)
以下的n行,分别为各个苹果能够到的最大高度。
再接下来的m行,分别为各个陶陶的高度。
高度均不高于300。
当然了,摘取的顺序按照输入的“苹果够到的最大高度”的顺序来摘。

输出格式
输出仅有一个数,是剩下的陶陶的数量

样例输入
5 5
9
10
2
3
1
6
7
8
9
10 
样例输出
3

回复列表 (共1个回复)

沙发

program appztt;

  var
    i,j,k,m,n,temp:longint;
    tt,app:array[0..10000]of integer;

  begin

    readln(n,m);
    for i:=1 to n do readln(app[i]);
    for i:=1 to m do readln(tt[i]);

    for i:=1 to m do
      for j:=i+1 to m do
        if tt[i]<tt[j] then
          begin
            temp:=tt[j];
            tt[j]:=tt[i];
            tt[i]:=temp;
          end;

    for i:=1 to n do
      for j:=1 to m do
        if (app[i]>tt[j]) and (tt[j]>0) then
          begin
            inc(k);
            tt[j]:=-1;
            break;
          end;

    write(m-k);

  end.

我来回复

您尚未登录,请登录后再回复。点此登录或注册