zoukankan      html  css  js  c++  java
  • 洛谷 P1716 双调序列

    题目描述

    电脑组的童鞋们经常玩一些智力PK小游戏,某月某日,发源于小朋友又发明了一种新的序列:双调序列,所谓的双调呢主要是满足如下条件描述:

    假定有n(n<=1000)个整数(都在longint范围内,即-2147483648~2147483647),双调序列的第一个数是n个整数中的最大数,第二个数是n个整数中的最小数,第三个数是n个数中的第二大数,第四个数是n个数中的第二小数……取过的数不能再取,依次类推,直到结束。

    聪明的你听完描述就抿嘴笑了吧?那就请你用程序正确的帮他找出这n个数的双调序列。

    输入输出格式

    输入格式:

     

    第1行为一个整数n。

    接下来n行给出了题目中所述的n个整数,每行包含一个整数。

     

    输出格式:

     

    有n行,每行为一个整数,是满足条件的双调序列

     

    输入输出样例

    输入样例#1: 复制
    5
    10
    -1
    3
    3
    -9
    
    输出样例#1: 复制
    10
    -9
    3
    -1
    3
    

    说明

    对于100%的数据,n<=1000。

    思路:排序

    #include<cstdio>
    #include<cstring>
    #include<iostream>
    #include<algorithm>
    using namespace std;
    int n;
    long long num[1010],ans[1010];
    int cmp(long long a,long long b){
        return a>b;
    }
    int main(){
        scanf("%d",&n);
        for(int i=1;i<=n;i++)
            scanf("%lld",&num[i]);
        sort(num+1,num+1+n,cmp);
        for(int i=1;i<=n;i+=2){
            int k=(i+1)/2;
            ans[i]=num[k];
            ans[i+1]=num[n-k+1];
        }
        for(int i=1;i<=n;i++)    cout<<ans[i]<<endl;
    }
    细雨斜风作晓寒。淡烟疏柳媚晴滩。入淮清洛渐漫漫。 雪沫乳花浮午盏,蓼茸蒿笋试春盘。人间有味是清欢。
  • 相关阅读:
    adb命令
    Appium -选择、操作元素
    Appium -选择、操作元素2
    Appium环境安装
    selenium报错
    TCP和UDP的区别
    charles抓包的安装,使用说明以及常见问题解决(windows)
    网关协议学习:CGI、FastCGI、WSGI
    理论经典:TCP协议的3次握手与4次挥手过程详解
    OSI七层与TCP/IP五层网络架构详解
  • 原文地址:https://www.cnblogs.com/cangT-Tlan/p/7995089.html
Copyright © 2011-2022 走看看