题干:

给定一个数列A,要求你将这个数列划分成几个连续的部分,使得每部分分别从小到大排序后整个数列有序。

问最多可以划分成几个部分。

Input

第一行包含一个整数 n (1 ≤ n ≤ 100 000) — 表示数列的长度

之后一行 n 个整数 hi (1 ≤ hi ≤ 109). 描述这个数列。

Output

输出最多能划分出的部分数。

Example

Input

3
1 2 3

Output

3

Input

4
2 1 3 2

Output

2

解题报告:

做法很多,标解是用一个排序,然后对排序前后的数组的差做前缀和,如果前缀和是0,则说明可以断开,反之则不能断开。

这题也可以贪心考虑:能分区间则分一段,所以对于每一个数,先找到比他小的最右边的数(这个可以map维护最右下标,然后二分来得到)然后对这中间的数,也找比他小的最右下标,在维护一个最大值,那么就在之类分段。

AC代码:

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<queue>
#include<stack>
#include<map>
#include<vector>
#include<set>
#include<string>
#include<cmath>
#include<cstring>
#define FF first
#define SS second
#define ll long long
#define pb push_back
#define pm make_pair
using namespace std;
typedef pair<int,int> PII;
const int MAX = 2e5 + 5;
ll sum,ans,n,a[MAX],b[MAX];
int main()
{cin>>n;for(int i = 1; i<=n; i++) {scanf("%lld",a+i);b[i]=a[i];}sort(b+1,b+n+1);for(int i = 1; i<=n; i++) {sum += a[i]-b[i];if(sum == 0) ans++;}cout << ans << endl;return 0 ;
}

【CodeForces - 599C 】Day at the Beach(思维)相关推荐

  1. Codeforces Round #459 (Div. 2) C 思维,贪心 D 记忆化dp

    Codeforces Round #459 (Div. 2) C. The Monster 题意:定义正确的括号串,是能够全部匹配的左右括号串. 给出一个字符串,有 (.). ? 三种字符, ? 可以 ...

  2. codeforces 148 C. Terse princess(思维,构造)

    C. Terse princess(思维,构造) 题目链接:codeforces 148C 题意:     有个公主找王子,如果这个人比之前所有王子的财富都高,公主就会Oh,              ...

  3. CodeForces - 1498D Bananas in a Microwave(思维+dp)

    题目链接:点击查看 题目大意:给出 nnn 次操作,初始时有一个 k=0k=0k=0,每次操作抽象为三个数 txyt\ x\ yt x y,其中 xxx 可能为小数,可以选择一个 num∈[0,y]n ...

  4. CodeForces - 813E Army Creation(主席树+思维)

    题目链接:点击查看 题目大意:给出一个长度为 nnn 的数列和一个整数 kkk,现在有 qqq 次询问,每次询问给出一个区间 [l,r][l,r][l,r],设 cnticnt_icnti​ 为数字 ...

  5. CodeForces - 1030C Vasya and Golden Ticket(思维)

    题目链接:点击查看 题目大意:给定长度为n的字符串,字符串全部由0~9的数字组成,要求将字符串划分为连续的子字符串,要求每个子字符串的和都要相等,问给定字符串能否成功划分 题目分析:简单思维,因为划分 ...

  6. CodeForces - 1245A Good ol' Numbers Coloring (思维)

    Codeforces Round #597 (Div. 2 Consider the set of all nonnegative integers: 0,1,2,-. Given two integ ...

  7. 【CodeForces - 298C】Parity Game (思维,有坑)

    题干: You are fishing with polar bears Alice and Bob. While waiting for the fish to bite, the polar be ...

  8. Codeforces Round #533 (Div. 2) C.思维dp D. 多源BFS

    题目链接:https://codeforces.com/contest/1105 C. Ayoub and Lost Array 题目大意:一个长度为n的数组,数组的元素都在[L,R]之间,并且数组全 ...

  9. Codeforces 893 D Credit Card 贪心 思维

    题目链接: http://codeforces.com/contest/893/problem/D 题目描述: 每天晚上一个数值a,如果a>0表示今天收入a元,<0表示亏损a元,=0表示去 ...

最新文章

  1. Linux用户查看系统有多少用户在登录
  2. 用太极拳讲分布式理论,真舒服!
  3. linux开机启动项6个级别_linux开机启动设置的几种方法
  4. 【c语言】蓝桥杯算法训练 成绩的等级输出
  5. 中部四省会打造人才信息云平台
  6. 200多个js技巧代码(4)
  7. centos6.x redhat6.x 升级openssh8.7
  8. Asp.net中Js、Css文件压缩辅助类
  9. oracle的口令就是密码吗,如何修改Oracle用户的密码(不改变原密码)
  10. 分布式链路追踪 之 Skywalking 设计理念核心原理
  11. eclipse中提示“java application configureation name i”
  12. windows7 上搭建NFS服务器--haneWIN
  13. 【Unity】制作圆形进度条
  14. 面试被问到:测试计划和测试方案有什么区别?你会回答吗~
  15. Yum命令和配置文件分析
  16. linux写含输入输出的代码,linux系统管理-输入输出
  17. STM32驱动0.96寸OLED屏幕
  18. 人家也是干 IT 的。
  19. 数据库1NF 2NF 3NF范式解释
  20. PS电商插件/图牛助理插件/多模板电商工具/Adobe Photoshop CC 2015-2022可直接使用的ps插件

热门文章

  1. [Leetcode][第35题][JAVA][搜索插入位置][二分法]
  2. 拆包--缓冲区查找包头及包尾偏移
  3. 1320A. Journey Planning
  4. Linux高频命令汇总,Linux高频命令
  5. 自定义hibernate validation注解
  6. python可以在linux运行_服务器(Linux)上运行python总结
  7. 通用即插即用监视器驱动下载_电脑设备驱动程序有问题,教你3招,快速修复...
  8. linux ps 进程组,linux进程管理(2)---进程的组织结构
  9. showdoc windows 搭建_ShowDoc的搭建
  10. java中检查性异常类_Java异常处理、java语言推崇使用检查类型异常