zoukankan      html  css  js  c++  java
  • CCF CSP 201903-1 小中大

    试题编号: 201903-1
    试题名称: 小中大
    时间限制: 1.0s
    内存限制: 512.0MB

    在这里插入图片描述
    在这里插入图片描述

    思路:

    从0开始编号到n-1
    1.n为奇数情况,将第一个数,第(n-1)/2个数,最后一个数从大到小输出即可;
    2.n为偶数情况,中位数为第n/2-1个数和第n/2个数的平均数,同时用double和int记录这个数,如果两个值相等,就输出整数,否则输出保留一位小数的数;

    代码:

    #include<iostream>
    #include<vector>
    #include<algorithm>
    using namespace std;
    int main(){
    	int n,a,cmp=0;
    	scanf("%d",&n);
    	vector<double> v;
    	if(n%2){
    		int mid=(n-1)>>1;
    		for(int i=0;i<n;i++){
    			scanf("%d",&a);
    			if(i==0||i==n-1||i==mid) v.push_back(a);
    		}
    	}else{
    		int left=(n>>1)-1,right=n>>1,num=0;
    		for(int i=0;i<n;i++){
    			scanf("%d",&a);
    			if(i==0||i==n-1) v.push_back(a);
    			if(i==left||i==right) num+=a;
    		}
    		cmp=num>>1;
    		v.push_back(num/2.0);
    	}
    	sort(v.begin(),v.end(),greater<double>());
    	printf(cmp==v[1]||n%2?"%.0f %.0f %.0f":"%.0f %.1f %.0f",v[0],v[1],v[2]);
    	return 0;
    }
    
  • 相关阅读:
    lea
    DIV指令
    html基础
    浮点计算结果误差,以及解决方法
    java的threadLocal类
    java多线程基础总结
    sql反模式读书笔记 (持续更新)
    pdb 调试初步
    面向对象设计原则与总结 (持续更新)
    @servcie注解基本用法
  • 原文地址:https://www.cnblogs.com/yuhan-blog/p/12308993.html
Copyright © 2011-2022 走看看