C++信息学奥赛1180:分数线划定

news2024/11/16 3:37:53

在这里插入图片描述

#include <bits/stdc++.h>
using namespace std;
int main()
{
    int n, a;
    cin >> n >> a; // 输入 n 和 a

    int id[n], arr[n]; // 定义两个长度为 n 的数组 id 和 arr,用于存储输入的数据

    for (int i = 0; i < n; i++)
    {
        cin >> id[i] >> arr[i]; // 输入 id[i] 和 arr[i]
    }

    // 排序算法:按照 arr[i] 降序排序,如果 arr[i] 相同就按照 id[i] 升序排序
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n; j++)
        {
            if (arr[i] > arr[j])
            {
                swap(arr[i], arr[j]);
                swap(id[i], id[j]);
            }
            else if (arr[i] == arr[j])
            {
                if (id[i] < id[j])
                {
                    swap(arr[i], arr[j]);
                    swap(id[i], id[j]);
                }
            }
        }
    }

    double result = a * 1.5; // 计算结果,a 乘以 1.5
    int roundedDown = floor(result); // 取整数部分,向下取整
    int round = 0; // 计算有多少个元素大于等于 arr[roundedDown - 1]

    for (int i = 0; i < n; i++)
    {
        if (arr[roundedDown - 1] <= arr[i])
            round++;
    }

    cout << arr[roundedDown - 1] << " " << round << endl; // 输出 arr[roundedDown - 1] 和 round 的值

    for (int i = 0; i < round; i++) // 遍历输出前 round 个元素的 id[i] 和 arr[i]
    {
        cout << id[i] << " " << arr[i] << endl;
    }
}

代码逻辑:

  1. 从输入中读取两个整数 n 和 a。
  2. 创建两个长度为 n 的数组 id 和 arr,用于存储接下来的输入。
  3. 使用循环将 n 个元素依次读入 id 数组和 arr 数组。
  4. 使用冒泡排序算法对数组进行排序,首先按照 arr[i] 的降序排序,如果 arr[i] 相同,则按照 id[i] 的升序排序。
  5. 计算结果变量 result 等于 a 乘以 1.5。
  6. 使用 floor 函数向下取整得到 roundedDown 变量。
  7. 遍历数组 arr,统计大于等于 arr[roundedDown - 1] 的元素个数,保存在 round 变量中。
  8. 输出 arr[roundedDown - 1] 和 round 的值。
  9. 遍历输出前 round 个元素的 id[i] 和 arr[i]。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/958155.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

丰台区北宫镇举办“丰宜福台·书香北宫”2023年书画交流活动

2023年8月30日&#xff0c;北京市丰台区北宫镇举办了一场盛大的书画交流活动&#xff0c;以“丰宜福台书香北宫”为主题&#xff0c;展示书画艺术魅力&#xff0c;共建文化新北宫。此次活动旨在传承和弘扬中国书法与国画的古韵文化&#xff0c;丰富北宫镇民众的精神文化生活&am…

【Linux】redhat7.8配置yum在线源【redhat7.8镜像容器内配置yum在线源】通用

&#x1f468;‍&#x1f393;博主简介 &#x1f3c5;云计算领域优质创作者   &#x1f3c5;华为云开发者社区专家博主   &#x1f3c5;阿里云开发者社区专家博主 &#x1f48a;交流社区&#xff1a;运维交流社区 欢迎大家的加入&#xff01; &#x1f40b; 希望大家多多支…

【UE 材质】实现方形渐变、中心渐变材质

步骤 一、实现方形渐变 1. 新建一个材质&#xff0c;材质域选择“后期处理” 2. 通过“Mask”节点单独获取R、G通道&#xff0c;可以看到R通道是从左到右0~1之间的变化&#xff0c;对应U平铺 可以看到G通道是从上到下0~1之间的变化&#xff0c;对应V平铺 3. 完善如下节点 二、…

【力扣每日一题】2023.8.31 一个图中连通三元组的最小度数

目录 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 代码&#xff1a; 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 题目给我们一个无向图&#xff0c;要我们找出三个节点&#xff0c;这三个节点他们两两相连&#xff0c;这三个节点除了连接到对方的其他线…

阻塞非阻塞IO(BIO和NIO),IO多路复用

1.概念 NIO&#xff08;New Input/Output&#xff09;和BIO&#xff08;Blocking Input/Output&#xff09;是Java中用于处理输入输出的两种不同的模型。 BIO 会阻塞&#xff0c;等有了消息&#xff0c;立刻返回&#xff0c;一个线程处理一个recv&#xff08;需要很多线程&…

Solidity 小白教程:5. 变量数据存储和作用域 storage_memory_calldata

Solidity 小白教程&#xff1a;5. 变量数据存储和作用域 storage_memory_calldata Solidity 中的引用类型 引用类型(Reference Type)&#xff1a;包括数组&#xff08;array&#xff09;&#xff0c;结构体&#xff08;struct&#xff09;和映射&#xff08;mapping&#xff…

用迅为RK3568开发板使用OpenCV处理图像颜色通道提取ROI

本小节代码在配套资料“iTOP-3568 开发板\03_【iTOP-RK3568 开发板】指南教程 \04_OpenCV 开发配套资料\07”目录下&#xff0c;如下图所示&#xff1a; 在计算机的色彩图像中存有三个通道&#xff0c;即 BGR 通道&#xff0c;根据三个颜色通道的亮度值来显示出不同的颜色&…

动态相对定位差分关键技术

载波相位测量&#xff1a;解决两个关键问题&#xff0c;即整周模糊度计算和周跳检测。 整周模糊度的快速固定是研究重点。目前成熟方法是模糊度协方差法&#xff0c;分为模糊度实数解估计和模糊度搜索两个过程。实数解估计通常采用kalman滤波&#xff0c;它为搜索算法提供搜索…

哈希表HashMap(基于vector和list)

C数据结构与算法实现&#xff08;目录&#xff09; 1 什么是HashMap&#xff1f; 我们这里要实现的HashMap接口不会超过标准库的版本&#xff08;是一个子集&#xff09;。 HashMap是一种键值对容器&#xff08;关联容器&#xff09;&#xff0c;又叫字典。 和其他容易一样…

【Vue3 知识第一讲】Vue 简介、核心关键词解读

文章目录 前置导读1. 学习 Vue3 需要什么知识&#xff1f;2. 通过本课程将能学到什么&#xff1f; 第一章&#xff1a;Vue 简介1.1 核心关键词&#xff1a;构建用户界面1.2 核心关键词&#xff1a;框架1.2.1 库和框架的区别1.2.2 Vue 框架 1.3 核心关键词&#xff1a;渐进式&am…

CTFhub-SSRF-内网访问

CTFHub 环境实例 | 提示信息 http://challenge-8bf41c5c86a8c5f4.sandbox.ctfhub.com:10800/?url_ 根据提示&#xff0c;在url 后门添加 127.0.0.1/flag.php http://challenge-8bf41c5c86a8c5f4.sandbox.ctfhub.com:10800/?url127.0.0.1/flag.php ctfhub{a6bb51530c8f6be0…

模拟电子技术基础学习笔记一 本征半导体

半导体器件是构成电子电路的基本元件&#xff0c;它们所用的材料是经过特殊加工且性能可控的半导体材料。 1.本征半导体 纯净的具有晶体结构的半导体称为本征半导体 2.共价键 两个或多个原子通过共用电子对而产生的一种化学键称为共价键&#xff08;covalent bond&#xff…

甄知携AIGC新升级产品参与首届人工智能生成内容国际会议,共探AIGC最前沿技术

首届人工智能生成内容国际会议(2023The 1st International Conference on AI-generated Content (AIGC2023)于2023年8月25-26日在中国上海举行。本次会议得到了复旦大学、中国科技大学、同济大学、上海交通大学、上海人工智能实验室、香港中文大学等知名院校和研究机构的大力支…

8.物联网LWIP,简要介绍http(超文本,URL),html(css,ajax),web实现打开灯

一。HTTP详解 1.超文本&#xff1a;&#xff08;HyperText&#xff09; &#xff08;1&#xff09;超文本文件彼此链接&#xff0c;形成网状&#xff08;web&#xff09;&#xff0c;内含有超链接&#xff08;Link&#xff09;与各种媒体元素标记&#xff08;Markup&#xff…

C#添加WebApi,配置Swagger

1、创建一个WebAPI项目 下载、安装、引入【Swashbuckle.AspNetCore】包 右击【解决方案】&#xff0c;然后点击【管理Nuget包】&#xff0c;搜索【Swashbuckle.AspNetCore】包 2、配置Swagger中间件 在【Startup.cs】文件中的【ConfigureService】类中添加如下代码。 在【Sta…

Git管理

Git管理 ①对于项目目录中有.git的&#xff0c;可以在idea里面更改远程提交地址 Git->>Manage Remotes 中修改远程提交地址 ②对于没有.git目录的项目 在项目的根目录下进入cmd&#xff0c;使用下面的语句初始化.git目录 ##初始化 git init

笔记本电脑连接不上wifi怎么办?3种方法轻松搞定!

在现代社会中&#xff0c;无线网络已经成为人们日常生活和工作中必不可少的一部分。然而&#xff0c;有时候我们可能会遇到笔记本电脑无法连接到Wi-Fi网络的问题。这种情况可能会让人感到困扰&#xff0c;影响正常的工作和娱乐体验。那笔记本电脑连接不上wifi怎么办呢&#xff…

VB:判断一个数是否为质数

VB编程&#xff1a;判断一个数是否为质数 Private Sub Command1_Click() 点击事件 Dim N%, I%, K% 定义N,I,K为整型 N Val(InputBox("N?")) 输入信息 K Int(Sqr(N)) 对N取平方根&#xff0c;并转换为整型 For I 2 To K 定义循环If N Mod I 0 Then Exit For Nex…

jenkins 发布job切换不同的jdk版本/ maven版本

1. 技术要求 因为有个新的项目需要使用jdk17 而旧的项目需要jdk1.8 这就需要jenkins在发布项目的时候可以指定jdk版本 2. 解决 jenkins全局工具配置页面 配置新的jdk 路径 系统管理-> 全局工具配置 如上新增个jdk 名称叫 jdk-17 然后配置jdk-17的根路径即可&#xff08;这…

趣味微项目:玩转Python编程,轻松学习快乐成长!

&#x1f482; 个人网站:【工具大全】【游戏大全】【神级源码资源网】&#x1f91f; 前端学习课程&#xff1a;&#x1f449;【28个案例趣学前端】【400个JS面试题】&#x1f485; 寻找学习交流、摸鱼划水的小伙伴&#xff0c;请点击【摸鱼学习交流群】 在学习Python编程的旅程…