拦截导弹

拦截导弹

https://ac.nowcoder.com/acm/problem/16810







#include<bits/stdc++.h>
using namespace std;
const int maxn=1e6+7; 
typedef long long ll;
int a[maxn],que[maxn];
int main() {
    int n=0,len,i;
    while(~scanf("%d",&a[++n]));
    --n;
    for(i=n,len=0;i;--i) {
        if(a[i]>=que[len]) que[++len]=a[i];
        else {
            int cnt=upper_bound(que+1,que+1+len,a[i])-que;
            que[cnt]=a[i];
        }
    }
    printf("%d\n",len);
    for(i=1,len=0;i<=n;++i) {
        if(a[i]>que[len]) que[++len]=a[i];
        else {
            int cnt=lower_bound(que+1,que+1+len,a[i])-que;
            que[cnt]=a[i];
        }
    }
    printf("%d\n",len);
}
全部评论

相关推荐

01-24 08:13
已编辑
合肥工业大学 Java
程序员牛肉:没啥问题。标准的流水线简历,但是学历好一点,所以应该是有约面的机会的。 这段时间可以考虑把自己的两个项目彻底的理一理。争取能够讲清楚每一个功能点
点赞 评论 收藏
分享
评论
6
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务