博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
#575. 列车调度
阅读量:5292 次
发布时间:2019-06-14

本文共 1151 字,大约阅读时间需要 3 分钟。

【题目描述】:

列车由东面进站只有一个车道,进站后站内共分有K个平行的车道,出站前汇聚为一个车道,由西面出站。

有N辆列车,标记为1,2,3,…,N。它们按照一定的次序进站,轨道遵从先进先出的原则。列车进入站台内的轨道后可以等待任意时间后出站,且所有列车不可后退。现在要使出站的顺序变为N,N-1,N-2,…,1,询问K的最小值是多少。

【输入描述】:

输入共2行。

第 1 行包含1个正整数N,表示N辆列车。

第 2 行包含N个正整数,为1至N的一个排列,表示进站次序。

【输出描述】:

输出共1行,包含1个整数,表示站台内轨道数K的最小值。

【样例输入1】:

31 2 3

【样例输出1】:

3

【样例输入2】:

91 3 2 4 8 6 9 5 7

【样例输出2】:

5

【时间限制、数据范围及描述】:

时间:1s 空间:128M

对于30%的数据,N≤10;

对于70%的数据,N≤2000;

对于100%的数据,N≤100000。

 

 

#include
#include
#include
#include
#include
#include
using namespace std;int n,now,ans=1;bool ok;int a[100000];int read(){ int a=0,b=1; char ch=getchar(); while((ch<48||ch>57)&&ch!='-'){ ch=getchar(); } if(ch=='-'){ b=-1; ch=getchar(); } while(ch<48||ch>57){ ch=getchar(); } while(ch>47&&ch<58){ a=a*10+ch-48; ch=getchar(); } return a*b;}int main(){ n=read(); now=read(); a[1]=now; for(int i=2;i<=n;i++){ now=read(); ok=1; for(int i=1;i<=ans;i++){ if(a[i]>now){ a[i]=now; ok=0; break; } } if(ok){ ans++; a[ans]=now; } } printf("%d",ans); return 0;}

  

转载于:https://www.cnblogs.com/xiongchongwen/p/11503809.html

你可能感兴趣的文章
(没时间维护,已下架)博客园第三方客户端-i博客园正式发布App Store
查看>>
map使用实例
查看>>
关于ShapeDrawable应用的一些介绍(上)
查看>>
洛谷 P3984 高兴的津津
查看>>
洛谷 P1308 统计单词数
查看>>
使用GitHub
查看>>
1.25回溯 n皇后问题,素数环,困难的串
查看>>
大量界面刷新时手动Dispose也是有必要的
查看>>
机电传动控制第三周学习笔记
查看>>
删除.gitignore中的在version control中的文件
查看>>
java精确计算、精确计算工具类
查看>>
操作系统实验零——操作系统实验环境准备
查看>>
centos服务器搭建javaweb项目步骤
查看>>
Docker入坑指南之EXEC
查看>>
XmlNode和XmlElement(转)
查看>>
python3+ros+telnet+telnetlib
查看>>
head first 设计模式读书笔记 之 策略模式
查看>>
并发数据结构:迷人的原子
查看>>
JS—操作符优先级
查看>>
获取日期的相关方法
查看>>