zoukankan      html  css  js  c++  java
  • C. Day at the Beach---cf559

    http://codeforces.com/problemset/problem/599/C

    题目大意: 有n个城堡的高度   让你最多分成几个块   每个块排过序之后 整体是按照升序来的

    分析:  i之前的最大值只要小于等于i之后的最小值  ans++

    #include <iostream>
    #include <cstring>
    #include <algorithm>
    #include <queue>
    #include <cstdio>
    #include <cstdlib>
    #include <cctype>
    #include <math.h>
    #include <ctype.h>
    
    using namespace std;
    #define memset(a,b) memset(a,b,sizeof(a))
    #define N 500100
    typedef long long  ll;
    const double ESP = 1e-8;
    #define INF 0xfffffff
    
    int a[N];
    int l[N],r[N];
    
    int main()
    {
        int n;
        while(scanf("%d",&n)!=EOF)
        {
            memset(l,0);
            memset(r,0);
            memset(a,0);
            for(int i=1;i<=n;i++)
            {
                scanf("%d",&a[i]);
                l[i]=max(l[i-1],a[i]);
            }
            r[n]=a[n];
            for(int i=n-1;i>0;i--)
            {
                r[i]=min(r[i+1],a[i]);
            }
            int sum=0;
            for(int i=1;i<=n;i++)
            {
                if(l[i]<=r[i+1])
                    sum++;
            }
            printf("%d
    ",sum+1);
        }
        return 0;
    }
  • 相关阅读:
    grid 布局
    数组对象
    定义换页时表现
    判断一个对象是否为空
    内存管理 内存泄漏
    arguments对象
    String类型
    对象 实例
    iOS 之 UIWebView
    iOS 之 内嵌网页
  • 原文地址:https://www.cnblogs.com/linliu/p/5448254.html
Copyright © 2011-2022 走看看