zoukankan      html  css  js  c++  java
  • B

    找出一个递减序列,假设有两个或两个以上递减序列直接no了,然后对递减序列两端数start。end,然后比較a[start]和a[end+1] 。 a[end] 和a[start-1]

    #include<iostream>
    #include<stdio.h>
    using namespace std;
    int a[100005];
    int main(){
       // freopen("in.txt","r",stdin);
        int n;
        while(~scanf("%d",&n)){
            a[0]=-1;
            a[n+1]=1000000009;
            for(int i=1;i<=n;i++)
                scanf("%d",&a[i]);
            int start=-1,end=-1,flag=0;
            for(int i=2;i<=n+1;i++){
                if(a[i-1]>a[i] && start==-1){
                    start=i-1;
                }
                else if(start!=-1 && end==-1 && a[i-1]<a[i]){
                    end=i-1;
                    flag=1;
                }
                else if(a[i-1]>a[i] && start!=-1 && end!=-1){
                    flag=2;
                    break;
                }
            }
       //     cout<<"初始位置:"<<start<<" "<<end<<endl;
            if(n==1 || start==end){
                cout<<"yes"<<endl;
                cout<<"1 1"<<endl;
            }
            else if(flag==2){
                cout<<"no"<<endl;
            }
            else if(a[start]<a[end+1] && a[end]>a[start-1]){
                cout<<"yes"<<endl;
                cout<<start<<" "<<end<<endl;
            }
            else
                cout<<"no"<<endl;
        }
    }

    
  • 相关阅读:
    HOWTO: IE8下处理iframe自适应高度
    脚印:记录一次重构,将规则生产和规则消费(执行委托)分离
    Microsoft ASP.NET 2.0 AJAX 相关信息备忘
    脚印:软件开发随想录
    脚印:关于扩展方法的使用
    MVC 模式在javascript中的应用
    2007年总结
    下拉框自动回发!
    国庆前生活学习计划
    看完色戒有感
  • 原文地址:https://www.cnblogs.com/cxchanpin/p/6727457.html
Copyright © 2011-2022 走看看