Sorting Railway Cars

CodeForces - 605A

一辆列车有N节车厢,编号为1...N(每节车厢编号都不同),并且他们的排列是混乱的。李老湿想要把这N节车厢重新排列为升序排列,每次调整他可以挑出一节车厢放在车头或者车尾。可是李老湿太懒了,所以他想知道最少需要调整多少次就可以完成重新排列!为了解决这个问题,李老湿决定求助学弟们。

Input

第一行:一个整数N( 1<=N<=100000) 表示列车的车厢数

第二行:N个整数pi( 1<=pi<=n,   pi ≠ pj if i ≠ j)表示给定的车厢排列

Output

输出一个整数:最少的操作。

Examples

Input
5
4 1 2 5 3
Output
2
Input
4
4 1 3 2
Output
2

sol:好无趣的结论题啊,一开始想错了,以为是找到最长上升子序列,然后被这组数据hack了
input

output

然后发现是要找到最长的连续上升子序列。。。


#include <bits/stdc++.h>
using namespace std;
typedef int ll;
inline ll read()
{
ll s=;
bool f=;
char ch=' ';
while(!isdigit(ch))
{
f|=(ch=='-'); ch=getchar();
}
while(isdigit(ch))
{
s=(s<<)+(s<<)+(ch^); ch=getchar();
}
return (f)?(-s):(s);
}
#define R(x) x=read()
inline void write(ll x)
{
if(x<)
{
putchar('-'); x=-x;
}
if(x<)
{
putchar(x+''); return;
}
write(x/);
putchar((x%)+'');
return;
}
#define W(x) write(x),putchar(' ')
#define Wl(x) write(x),putchar('\n')
const int N=;
int n,a[N],dp[N];
int main()
{
int i,ans=;
R(n);
for(i=;i<=n;i++) R(a[i]);
for(i=;i<=n;i++)
{
dp[a[i]]=dp[a[i]-]+;
ans=max(ans,dp[a[i]]);
}
Wl(n-ans);
return ;
}
/*
Input
5
4 1 2 5 3
Output
2 Input
4
4 1 3 2
Output
2 input
7
1 3 5 7 2 4 6
output
5
*/

 

codeforces605A的更多相关文章

随机推荐

  1. Mybatis学习总结(六)——高级映射(一对一,一对多,多对多)

    一.订单商品数据模型 1.数据库执行脚本 创建数据库表代码: /*Table structure for table `t_user` */ CREATE TABLE t_user ( id INT ...

  2. Vue2.x源码学习笔记-从一个小例子查看vm实例生命周期

    学习任何一门框架,都不可能一股脑儿的从入口代码从上到下,把代码看完, 这样其实是很枯燥的,我想也很少有人这么干,或者这么干着干着可能干不下去了. 因为肯定很无聊. 我们先从一个最最简单的小例子,来查看 ...

  3. Android如果有一个任意写入的漏洞,如何将写权限转成执行权限

    这个题目我以为是考的怎么进行提权,结果原来是这样的: . DexClassLoader 动态载入应用可写入的 dex 可执行文件 . java.lang.Runtime.exec 方法执行应用可写入的 ...

  4. 07 YAPI/基础设施 - DevOps之路

    07 YAPI/基础设施 - DevOps之路 文章Github地址,欢迎start:https://github.com/li-keli/DevOps-WiKi 简介 YApi 是一个可本地部署的. ...

  5. 我的微信小程序第二篇

    在上一篇<我的微信小程序第一篇(入门)>中,很多人问我什么是微信小程序,在这里我要说一下这个是我的失误啦,我默认大家都知道微信小程序,其实可能行内人士都知道小程序,好多非行内朋友可能平时不 ...

  6. App Inspector-iOS真机功能详解

    前言: App Inspector:浏览器端的移动设备 UI 查看器,使用树状态结构查看 UI 布局,自动生成 XPaths.官网:https://macacajs.github.io/app-ins ...

  7. HNOI2013 BZOJ3144 切糕

    在n×m的表格上,在(x,y)填v的代价是w(x,y,v),且相邻格子填的数相差≤d.求填满表格的最小代价.n,m,maxv≤40. 每个点上选择一个数填,因此将上面的数串起来.考虑限制条件,矛盾条件 ...

  8. Python学习第十一篇——for 的本质及如何正确修改列表

    假如现在有一个列表:magicians_list = ['mole','jack','lucy'],现在想通过一个函数来实现,在列表的每个元素前面加上“the Great”的字样.现在通过一个函数来实 ...

  9. eclipse、myeclipse写类时,自动生成注释

    在类的上边/**+enter自动生成注释. 设置方法:Window--Prefences--Java--Code Style--Code Templates--Comments--Types--Edi ...

  10. AtCoder Beginner Contest 049 & ARC065 連結 / Connectivity AtCoder - 2159 (并查集)

    Problem Statement There are N cities. There are also K roads and L railways, extending between the c ...