PAT 乙级 1030 完美数列

news2024/11/18 7:39:33

在这里插入图片描述

解题思路:这道题首先需要排序,然后双循环找出最大的那个,但一定要注意优化,比如我已经刚好找到临界,或者之后的不用遍历了没意义了,要赶紧跳出循环,否则会超时,另外其实这题还有个范围的坑过,因为乘法一旦用int,会溢出,只能用long long int ,不推荐用double去弄,原因跟之前的理由一样,就是存储方式不同,很容易在极特殊的测试点卡住,我的原则是能不用double就不用double,python就不用想这些了写起来更容易。

c语言代码如下:

#include<stdio.h>
#include<stdlib.h>
int cmp(const void *a,const void *b)
{
	return *(int *)a-*(int *)b;
}
int input(int *a,int n)
{
	int i;
	for(i=0;i<n;i++)
	scanf("%d",a+i);
	return 1;	
}
int main()
{
	int n,a[100001],i,j,output=0;    //output就是我们要的结果 
	long long p,max=0;          //为了计算不溢出 
	scanf("%d %lld",&n,&p);
	input(a,n);
	qsort(a,n,sizeof(int),cmp);     //排序 
	for(i=0;i<n;i++)
	{
		for(j=i+output;j<n;j++)
		{
			max=p*a[i];
			if(max>=a[j])
			{
				if(output<j-i+1)
				{
					output=j-i+1;  //更新output 
				}
			}
			else
			break;	 //这后面的循环已经没有意义了,因为是排过序的,赶紧跳出,不然会超时 
		}
	}
	printf("%d\n",output);
	return 0;
 } 

在这里插入图片描述

python:

s=input().split()
a=input().split()
for i in range(0,len(a)):
    a[i]=int(a[i])
a.sort()
n=int(s[0])
p=int(s[1])
output=0
for i in range(0,n):
    for j in range(output+i,n):
        max=a[i]*p
        if(max>=a[j]):
            if(j-i+1>output):
                output=j-i+1
        else:
            break;
print(output)

注意测试点4 偶尔提交python可以通过偶尔通过不了

在这里插入图片描述

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

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

相关文章

测试服务器带宽(ubuntu)

apt install python3 python3-pippip3 install speedtest-clispeestest-cli

【三维生成】稀疏重建、Image-to-3D方法(汇总)

系列文章目录 总结一下近5年的三维生成算法&#xff0c;持续更新 文章目录 系列文章目录一、LRM&#xff1a;单图像的大模型重建&#xff08;2023&#xff09;摘要1.前言2.Method3.实验 二、SSDNeRF&#xff1a;单阶段Diffusion NeRF的三维生成和重建&#xff08;ICCV 2023&am…

策略模式(组件协作)

策略模式&#xff08;组件协作&#xff09; 链接&#xff1a;策略模式实例代码 注解 目的 正常情况下&#xff0c;一个类/对象中会包含其所有可能会使用的内外方法&#xff0c;但是一般情况下&#xff0c;这些常使用的类都是由不同的父类继承、组合得来的&#xff0c;来实现…

Upload上传图片,回显图片,编辑图片,限制图片,不显示上传图标,图片放大功能

效果图&#xff1a; 新增、编辑时&#xff1a;限制上传四张&#xff0c;当超过四张隐藏上传图标 图片放大 &#xff1a;效果图 详情&#xff1a;回显时不显示上传图标 页面&#xff1a;template 部分 图片在前端存储&#xff0c;提交时一并给后端 :file-list"repairPlan…

Biotech - 小分子化合物、蛋白质、核酸的不同数据表征方式

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://spike.blog.csdn.net/article/details/135247719 小分子化合物、蛋白质、核酸之间的关联是生命科学研究的一个重要领域&#xff0c;涉及到细胞功能的调控、信号传导的机制、疾病的发生和…

html table+css实现可编辑表格

要实现可编辑的 HTML 表格&#xff0c;你可以使用 JavaScript 和 HTML5 的 contenteditable 属性。 <!DOCTYPE html> <html> <head><style>table {border-collapse: collapse;width: 100%;}th, td {border: 1px solid black;padding: 8px;text-align:…

模型树实操

很多时候&#xff0c;数据都是有层级和分类的&#xff0c;使用laravel的Dcat框架&#xff0c;可以快速搭建一个结构清晰、且可以鼠标拖拽排序的后台&#xff1b;先上例子更直观&#xff1a; 这里是Dcat的模型树使用文档&#xff0c;戳一下&#xff1b; 重点注意事项有&#x…

如何给已分区的磁盘增加空间?详细教程分享!

用户案例&#xff1a;​给已分区的磁盘增加空间 “怎样给已分区的磁盘增加空间呢&#xff1f;我的电脑硬盘分成了C、D、E、F这四个区&#xff0c;每个区都是114G。但现在我觉得C盘的114G空间有些太小了&#xff0c;所以想把其他分区多余的空间给C盘。压缩完分区后&#xff0…

一款能封堵牙本质小管的牙膏,帮你告别牙齿敏感

冬天来临&#xff0c;牙齿敏感成为了很多人的困扰。吃冷饮、涮火锅都让人倍感不适&#xff0c;这时候一款有效的牙膏就显得格外重要。最近我发现了一款非常不错的清九野小红盾牙膏&#xff0c;它能够有效缓解牙齿敏感问题。 造成“敏感牙”的原因有很多&#xff0c;但根本原因还…

Vue3-26-路由-useRouter 和 useRoute 两个API 的作用介绍

先来说说两个API 的作用 useRouter() : 返回的是项目中的 路由实例的对象 可以通过这个实例对象进行路由的逻辑跳转 useRoute() : 返回的是当前的 路由对象&#xff0c; 可以在当前路由对象中获取到路由名称、路由参数、路由路径等玩完整的路由信息。 写个案例看一下具体是什么…

利用Milvus Cloud和LangChain构建机器人:一种引人入胜且通俗易懂的方法

一、引言 机器人已经深入我们的日常生活&#xff0c;从家庭服务到工业生产&#xff0c;再到医疗和运输等领域。然而&#xff0c;这些机器人往往需要复杂的算法和数据处理技术才能有效地执行任务。在这个过程中&#xff0c;人工智能&#xff08;AI&#xff09;和机器学习&#…

CTFshow-pwn入门-栈溢出pwn39-pwn40

pwn39 首先我们还是先将二级制文件托到虚拟机里面查看文件的保护信息。 chmod x pwn checksec pwn文件依然是只开启了栈不可执行&#xff0c;canary和pie都没开。并且该文件是32位的&#xff0c;那我们就托到ida32中反编译一下吧。 int __cdecl main(int argc, const char **…

k8s的二进制部署: 源码包部署-----node节点部署

服务器IP软件包k8s--master0120.0.0.61kube-aplserver&#xff0c;kube-controer-manager&#xff0c;kube-scheduler&#xff0c;etcdk8s--master0220.0.0.62kube-controer-manager&#xff0c;kube-schedulernode节点0120.0.0.62kubelet&#xff0c;kube-proxy&#xff0c;et…

Duboo-入门到学废【上篇】

目录 1&#x1f95e;.什么是duboo 2&#x1f32d;.架构图 3.&#x1f37f;快速入门 4.&#x1f9c7;浅浅理解 1.什么是duboo&#x1f936;&#x1f936;&#x1f936; Dubbo是一个由阿里巴巴开发的基于Java的开源RPC框架。它提供了高性能、透明化的远程方法调用&#xff0…

模型的线性化与离散化方法

模型的线性化与离散化方法 一、线性化——泰勒展开 对于非线性系统&#xff1a; 将一个非线性系统转换为线性系统&#xff0c;泰勒展开公式&#xff1a; 由于我们 线性化 的需求&#xff0c;只取前两项即可&#xff1a; 二、离散化——欧拉法

python13

前言&#xff1a;相信看到这篇文章的小伙伴都或多或少有一些编程基础&#xff0c;懂得一些linux的基本命令了吧&#xff0c;本篇文章将带领大家服务器如何部署一个使用django框架开发的一个网站进行云服务器端的部署。 文章使用到的的工具 Python&#xff1a;一种编程语言&…

Git 分布式版本控制系统(序章1)

第一章 Git 分布式版本控制系统 为什么学Git? 某些企业面试需要掌握Git&#xff0c;同时&#xff0c;也方便管理自己的Qt项目。 一、Git 客户端下载&#xff08;Windows&#xff09; 下载地址 https://gitee.com/all-about-git#git-%E5%A4%A7%E5%85%A8 二、Git 的特点 分支…

网站服务器被入侵,如何排查,该如何预防入侵呢?

在我们日常使用服务器的过程中&#xff0c;当公司的网站服务器被黑客入侵时&#xff0c;导致整个网站以及业务系统瘫痪&#xff0c;将会给企业带来无法估量的损失。作为服务器的维护人员应当在第一时间做好安全响应&#xff0c;对入侵问题做到及时处理&#xff0c;以最快的时间…

DRF从入门到精通五(路由组件、认证组件)

文章目录 一、路由组件REST framework提供了两个routeraction装饰器 二、认证组件 一、路由组件 对于视图集ViewSetMixin&#xff0c;我们除了可以自己手动指明请求方式与动作action之间的对应关系外&#xff0c;还可以使用Routers来帮助我们快速实现路由信息。 REST framework…

EasyExcel实现动态表头(注解实现)

要实现上述动态头&#xff0c;按每日统计&#xff0c;每月统计&#xff0c;每年统计。而时间是一直变化&#xff0c;所以我们需要表头也一直动态生成。 首先&#xff0c;我们需要定义所需要实体类 public class CountDayData {ExcelProperty(value "业务员姓名")p…