Codeforces Round #835 (Div. 4)A.B.C.D.E.F

news2024/11/24 18:54:10

A. Medium Number

题目链接:

Problem - A - Codeforces 

题面:

题意:

给定三个数,求中间那个数的值

思路:

我们可以分别求出三个数的总和,最大值和最小值,在通过总和减最大值和最小值的方法求出中间的值

代码:

#include<bits/stdc++.h>
using namespace std;
int arr[5];
int main(){
	ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	int t;
	cin >> t;
	while(t--){
		int maxn = 0;
		int minn = 25;
		int sum = 0;
		for(int i = 0; i < 3; i++){
			cin >> arr[i];
			maxn = max(maxn, arr[i]);
			minn = min(minn, arr[i]);
			sum += arr[i];
		}
		cout << sum - maxn - minn << endl;
		
	}
	return 0;
}

B. Atilla's Favorite Problem

题目链接:

Problem - B - Codeforces

题面:

题意:

思路:

找到这个字符串里面最大的字符,这个字符的大小就是字母表的大小

代码:

#include<bits/stdc++.h>
using namespace std;
int arr[5];
int main(){
	ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	int t;
	cin >> t;
	while(t--){
		int n;
		cin >> n ;
		string s;
		cin >> s;
		int maxn = 0;
		for(int i = 0; i< n; i++){
			maxn = max(maxn, s[i] - 'a' + 1);
		}
		cout << maxn << endl;
		
	}
	return 0;
}

C. Advantage

题目链接:

Problem - C - Codeforces

题面:

题意:

给定一个数组,求每个数和除它之外的最大数的差值

思路:

用另一个数组排序这些数字,然后遍历输入数组,如果当前值和最大值不同,就求当前数和最大数的差值,如果相同,就求当前数和第二大数的差值

代码:

#include<bits/stdc++.h>
using namespace std;
bool cmp(int a, int b){
	return a > b;
}
int a[200005];
int b[200005];
int main(){
	ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	int t;
	cin >> t;
	while(t--){
		int n;
		cin >> n;
		for(int i = 0; i < n; i++){
			cin >> a[i];
			b[i] = a[i];
		}
		sort(b, b + n, cmp);
		for(int i = 0; i < n; i++){
			if(i != 0){
				cout << " ";
			}
			if(a[i] != b[0]){
				cout << a[i] - b[0];
			}else{
				cout << a[i] - b[1];
			}
		}
		cout << endl;	
	}
	return 0;
}

D. Challenging Valleys

题目链接:

Problem - D - Codeforces

题面:

题意:

给定一个数组,如果只有一个子数组满足条件

就输出yes,否则就输出no

思路:

遍历一遍数组,然后判断有几个子数组满足这个条件即可

代码:

#include<bits/stdc++.h>
using namespace std;
bool cmp(int a, int b){
	return a > b;
}
int a[200005];
int b[200005];
int main(){
	ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	int t;
	cin >> t;
	while(t--){
		int n;
		cin >> n;
		for(int i = 0; i < n; i++){
			cin >> a[i];
		}
		if(n == 1){
			cout << "YES" << endl;
			continue;
		}
		int ans = 0;
		bool flag = 0;
		for(int i = 0; i < n; i++){
			if(i == 0){
				flag = 1;
			}else if(a[i] < a[i - 1]){
				flag = 1;
			}else if(a[i] > a[i - 1]){
				flag = 0;
			}
			if(i + 1 < n && a[i] < a[i + 1] && flag == 1){
				ans++;
				flag = 0;
			}else if(i + 1 < n && a[i] > a[i + 1]){
				flag = 0;
			}
		}
		if(flag){
			ans++;
		}	
		if(ans == 1){
			cout << "YES" << endl;
		}else{
			cout << "NO" << endl;
		} 
	}
	return 0;
}

E. Binary Inversions

题目链接:

Problem - E - Codeforces

题面:

题意:

一个01数组,你只能进行一次操作:把一个0变成1或者把一个1变成0,问最多一次操作后数组值最大多少

数组值的计算方法:满足条件的ij对数:i<j&&ai>aj

思路:

对于每个ai为1的i,其后面的0的数量和就是数组值

如果我们把0变成1,那么数组值就会减去前面的1的数量,加上后面的0的数量

把1变成0,减去后面0的数量,加上1的数量

代码:

#include<bits/stdc++.h>
using namespace std;
#define ll long long
int a[200005];
int b[200005];
int c[200005];
int main(){
	ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	int t;
	cin >> t;
	while(t--){
		int n;
		cin >> n;
		for(int i = 1; i <= n; i++){
			cin >> a[i];
		}
		b[0] = 0;
		c[n + 1] = 0;
		for(int i = 1; i <= n; i++){
			if(a[i]){
				b[i] = b[i - 1] + 1;
			}else{
				b[i] = b[i - 1];				
			}
		}
		ll sum = 0;
		ll maxn = 0;
		for(int i = n; i >= 1; i--){
			if(a[i]){
				c[i] = c[i + 1];
				sum += c[i];
			}else{
				c[i] = c[i + 1] + 1;
			}
		}
		maxn = sum;
		for(int i = 1; i <= n; i++){
			if(a[i]){
				maxn = max(maxn, sum - c[i] + b[i] - 1);
			}else{
				maxn = max(maxn, sum + c[i] - b[i] - 1);
			}
		}
		cout << maxn << endl;
	}
	return 0;
}

F. Quests

题目链接:

Problem - F - Codeforces

题面:

题意:

思路:

如果每天都接最多的任务还是不能道c元,那么就是不可能,如果d天接不同的任务都可以到c元那么k就是任意大,如果都不行,就二分查找k的值

代码:

#include<bits/stdc++.h>
using namespace std;
#define ll long long
ll arr[200005];
bool cmp(ll a, ll b){
	return a > b;
}
bool check(int mid, ll c, int d, int n){
	ll sum = arr[0];
	for(int i = 1; i <= mid && i < n && i < d; i++){
		sum += arr[i];
	}
	ll ans = d / (mid + 1);
	int cnt = d % (mid + 1);
	sum *= ans;
	for(int i = 0; i < cnt && i < n; i++){
		sum += arr[i];
	}
	if(sum >= c){
		return true;
	}
	return false;
}
int main(){
	ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	int t;
	cin >> t;
	while(t--){
		int n;
		ll c;
		int d;
		cin >> n >> c >> d;
		for(int i = 0; i < n; i++){
			cin >> arr[i];
		}
		sort(arr, arr + n, cmp);
		ll sum = 0;
		for(int i = 0; i < min(n, d); i++){
			sum += arr[i];
		}
		if(sum >= c){
			cout << "Infinity" << endl;
		}else{
			if(arr[0] * d < c){
				cout << "Impossible" << endl;
			}else{
				int l = 0, r = 1e9;
				while(l <= r){
					int mid = (l + r) / 2;
					if(check(mid, c, d, n)){
						l = mid + 1;
					}else{
						r = mid - 1;
					}
				}
				cout << r << endl;
			}
		}
	}
	return 0;
}

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

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

相关文章

Promise(微任务)- 让你看完就懂

1. 图示 思维导图链接 https://www.zhixi.com/view/23ff2291 2. 使用promise原因 在没有promise的时候&#xff0c;一直使用setTimeout函数&#xff0c;这样就会造成回调地狱。 3. 基本状态 promise 有三种状态 pending&#xff08;此时 promise还没有调用完成&#xff09…

改进花朵授粉算法的无线传感器网络部署优化(Matlab代码实现)

&#x1f352;&#x1f352;&#x1f352;欢迎关注&#x1f308;&#x1f308;&#x1f308; &#x1f4dd;个人主页&#xff1a;我爱Matlab &#x1f44d;点赞➕评论➕收藏 养成习惯&#xff08;一键三连&#xff09;&#x1f33b;&#x1f33b;&#x1f33b; &#x1f34c;希…

某汽车座椅进行的头冲吸能实验的仿真计算

本案例运用hypermesh和lsdyna联合仿真&#xff0c;主要是针对某座椅进行的头冲吸能实验的仿真计算。这个工况考察座椅背部的塑料件的破坏情况&#xff0c;以及头部模块的加速度情况&#xff0c;达到保护人头部的效果。 本案例用户可以学习到&#xff1a; 1、螺栓预紧力的施加…

IntelliJ IDEA + spring-boot+mysql简单实现获取数据库数据接口例子

一、新建一个spring-boot项目 demo 项目结构与文件的含义&#xff1a; 二、项目编译入口代码 DemoApplication.java SpringBootApplication //EnableAutoConfiguration(exclude{DataSourceAutoConfiguration.class}) public class DemoApplication {public static void main(…

Linux系统编程

Linux系统中所见皆文件 bin&#xff1a;所存放二进制可执行文件 boot&#xff1a;存放开机启动程序 dev&#xff1a;存放设备文件 home&#xff1a;存放用户 etc&#xff1a;用户信息和系统配置文件 lib&#xff1a;库文件 root&#xff1a;管理员宿主目录&#xff08;家目录&…

Linux计划任务管理,网络管理

一&#xff0c;计划任务管理&#xff1a; 任务管理很宽泛&#xff0c;这里是指的计划任务管理&#xff0c;在指定的时间执行。 at命令 &#xff1a; 由atd守护进程来执行&#xff0c;atd进程会定期检查系统上的 /var/spool/at 目录&#xff0c;获取at命令写入的任务。 &#x…

Linux CentOS系统安装mysql8.0.31(tar方式)

Linux系统安装mysql8.0.31&#xff08;TAR方式&#xff09; 文章目录Linux系统安装mysql8.0.31&#xff08;TAR方式&#xff09;安装包的下载安装Mysql8.0.31注册成系统服务并自启动问题总结启动异常一简单使用安装包的下载 选择的是 MySQL Community Server 进行下载 官网下…

第4季1:将AR0130摄像头更换为OV9712摄像头

以下内容源于朱有鹏嵌入式课程的学习与整理&#xff0c;如有侵权请告知删除。 一、SoC对Sensor的支持情况 在海思SDK的Hi3518E V200R001C01SPC030\00.hardware\chip\document_cn目录下&#xff0c;我们重点关注这两个文档&#xff1a;《Hi3518EV200经济型HD IP Camera SoC产品…

wordpress插件-wordpress蜘蛛记录插件

wordpress蜘蛛插件&#xff0c;我们为什么要wordpress装蜘蛛插件&#xff0c;一个合格的SEO人员必须懂得分析网站的蜘蛛情况&#xff0c;wordpress蜘蛛插件可以让我们分析出各大搜索引擎蜘蛛的访问间隔频率&#xff0c;以及最受蜘蛛喜爱的页面&#xff0c;让你精确地分析搜索引…

Unity DOTS学习 前置知识(二)

ECS 架构和一些专用术语 Entity-Component-System 实体组件系统(ECS )架构遵循组合优于继承的原则面向数据设计弱耦合常被应用在游戏开发上 本质&#xff1a;组合的是数据数组而非对象数组 ECS示例图&#xff1a; Entity 虽然叫做实体&#xff0c;但是并非对象或容器&…

[网络工程师]-应用层协议-FTP

文件传输协议&#xff08;File Transfer Protocol&#xff0c;FTP&#xff09;简称为“文件协议”&#xff0c;用于在Internet上控制文件的双向传输。客户上传文件时&#xff0c;通过服务器20端口建立的连接是建立在TCP之上的数据连接&#xff0c;通过服务器21号端口建立的连接…

01 - 进阶操作系统(BIOS)

---- 整理自狄泰软件唐佐林老师课程 1. BIOS - Base input & Output system BIOS是上电后第一个运行的程序 BIOS首先检测硬件状态&#xff0c;检测通过后立即进行硬件初始化工作 BIOS会在内存中建立中断向量表&#xff08;提供硬件访问的方法&#xff09; BIOS最后将控制…

优思学院|韦伯的组织理论在今天还有意义吗?

韦伯&#xff08;Max Weber&#xff09;是提出官僚组织理论的一个德国杰出社会学家&#xff0c;他认为“官僚组织方式”&#xff08;Bureaucracy&#xff09;是理想的企业组织形态。 “官僚组织方式”是一种组织管理的方式&#xff0c;特征是组织内各人的职位&#xff08;Posi…

卡莱特在创业板上市:IPO首日跌破发行价,周锦志为实际控制人

12月1日&#xff0c;卡莱特云科技股份有限公司&#xff08;下称“卡莱特”&#xff0c;SZ:301391&#xff09;在深圳证券交易所创业板上市。本次上市&#xff0c;卡莱特共计发行1700万股&#xff0c;发行价为96.00元/股&#xff0c;募资总额约为16.32亿元&#xff0c;募资净额约…

国产自研、安全、高可用——袋鼠云大数据基础平台EasyMR筑基企业数字化转型

对于科技领域&#xff0c;只有自己掌握核心关键技术&#xff0c;实现自主可控&#xff0c;才能摆脱越来越频繁的“卡脖子事件”&#xff0c;保证企业和国家信息安全。 俗话说“基础不牢&#xff0c;地动山摇“。大数据基础平台什么&#xff1f;是打地基的&#xff0c;是重中之…

多功能无线测量仪的设计与制作

目录 第一章 绪论 1 1.1设计目的及意义 1 1.2课题的概述 1 1.3设计的主要内容介绍 1 第二章 多功能无线测量工作原理的介绍 2 2.1 AT89C51单片机介绍 2 2.2 多功能无线测量工作原理的介绍 5 2.2.1超声波的应用领域 5 2.2.2 超声波距离传感器简介 6 2.2.3超声波测距的原理 7 2.2…

我为何从测试转测试开发,并坚持了10年?

入行测试开发&#xff0c;马上就要10年了。创业公司待过&#xff0c;大公司也待过&#xff0c;工作这一路走来&#xff0c;一些心得&#xff0c;转变&#xff0c;职场体会&#xff0c;早就想写出来分享一下。这个历程包含了技术的提升&#xff0c;工程师的素养和对这个行业的点…

基于springboot信用分析管理系统设计与实现。

项目描述 临近学期结束&#xff0c;还是毕业设计&#xff0c;你还在做java程序网络编程&#xff0c;期末作业&#xff0c;老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。这里根据疫情当下&#xff0c;你想解决的问…

【MySQL事务_2_事务提交与回滚】

在MySQL中&#xff0c;事务提交与回滚 对t_act进行提交和回滚操作 (1).提交操作(非事务成功) update t_act set balance400 where actno1; update t_act set balance200 where actno2;(2).提交操作(非事务失败) update t_act set balance400 where actno1; update t_act set…

虹科案例|太赫兹技术如何看透文物下的秘密?

文物是人类在社会活动中遗留下来的具有历史、艺术、科学价值的遗物和遗迹&#xff0c;具有重要价值。文物是帮助现代人探寻历史、还原历史真相的最有力依据&#xff0c;同时也是历史时间工艺水平的记录。历史是一个国家文化体系的重要组成部分&#xff0c;而文物又是一个国家悠…