• 奶牛排队 (Standard IO)


    题意/Description:

           奶牛在熊大妈的带领下排成了一条直队。
      显然,不同的奶牛身高不一定相同。。。。。
      现在,奶牛们想知道,如果找出一些连续的奶牛,要求最左边的奶牛A是最矮的,最右边的B是最高的,且B高于A奶牛,中间如果存在奶牛,则身高不能和A,B奶牛相同。问这样的奶牛最多会有多少头?
      从左到右给出奶牛的身高,请告诉它们符合条件的最多的奶牛数(答案可能是0,2,但不会是1)。

     

    读入/Input

           第一行一个数N(2<=N<=100000),表示奶牛的头数。
      接下来N个数,每行一个数,从上到下表示从左边到右奶牛的身高(1<=身高<=maxlongint)。

     

    输出/Output

            第一行,表示最多奶牛数。

     

    题解/solution

           就是一个优美的暴力。

     

    代码/Code

    var
      n,maxx:longint;
      a:array [0..100001] of longint;
    procedure init;
    var
      i:longint;
    begin
      readln(n);
      for i:=1 to n do
        readln(a[i]);
      maxx:=0;
    end;
    
    function max(o,p:longint):longint;
    begin
      if o>p then exit(o);
      exit(p);
    end;
    
    procedure main;
    var
      i,j,k:longint;
      bo:boolean;
    begin
      for i:=n downto 1 do
        begin
          for j:=i-1 downto 1 do
            begin
              if a[i]<=a[j] then break;
    	  bo:=true;
              for k:=j+1 to i-1 do
                if (a[k]<=a[j]) or (a[k]>=a[i]) then
                  begin
                    bo:=false;
    		break;
                  end;
              if bo then
                begin
                  maxx:=max(maxx,i-j+1);
                  if maxx=n then
                    begin
    		  write(n);
    		  exit;
                    end;
    	    end;
    	end;
        end;
      write(maxx);
    end;
    
    begin
      init;
      main;
    end.
    



  • 相关阅读:
    高维前缀和
    差分约束
    【做题记录】[SCOI2009]围豆豆(动态规划+计算几何思想)
    插头DP/轮廓线DP
    行列式、LGV、矩阵树学习笔记
    Dsu on tree
    AC 自动机
    珂朵莉树(ODT)
    后缀数组 SA
    瞎做随记
  • 原文地址:https://www.cnblogs.com/zyx-crying/p/9319640.html
Copyright © 2020-2023  润新知