乘积最大python
题目描述
给定N个整数A1, A2, ... AN。请你从中选出K个数,使其乘积最大。
请你求出最大的乘积,由于乘积可能超出整型范围,你只需输出乘积除以1000000009的余数。
注意,如果X<0, 我们定义X除以1000000009的余数是负(-X)除以1000000009的余数。
即:0-((0-x) % 1000000009)
输入
第一行包含两个整数N和K。
以下N行每行一个整数Ai。
对于40%的数据,1 <= K <= N <= 100
对于60%的数据,1 <= K <= 1000
对于100%的数据,1 <= K <= N <= 100000 -100000 <= Ai <= 100000
输出
一个整数,表示答案。
样例输入
5 3 -100000 -10000 2 100000 10000
样例输出
999100009
代码:(时间超限。。)
n,k=map(int,input().split())
nums=[]
for i in range(n):nums.append(int(input()))nums.sort()
fushu=[i for i in nums if i<0]
result=1
if k%2==0:if len(fushu)%2==0:while k:result=result*max(nums[0]*nums[1],nums[-1]*nums[-2])k=k-2if max(nums[0]*nums[1],nums[-1]*nums[-2])==nums[0]*nums[1]:nums.pop(0)nums.pop(1)else:nums.pop(-1)nums.pop(-2)else:maxfushu=fushu[-1]nums.remove(maxfushu)while k:result=result*max(nums[0]*nums[1],nums[-1]*nums[-2])k=k-2if max(nums[0]*nums[1],nums[-1]*nums[-2])==nums[0]*nums[1]:nums.pop(0)nums.pop(1)else:nums.pop(-1)nums.pop(-2)
else:if len(fushu)==len(nums):nums1=nums[-k:-1]for i in range(k):result=result*nums1[i]else:result=result*nums[-1]k=k-1del nums[-1]if len(fushu)%2==0:while k:result=result*max(nums[0]*nums[1],nums[-1]*nums[-2])k=k-2if max(nums[0]*nums[1],nums[-1]*nums[-2])==nums[0]*nums[1]:nums.pop(0)nums.pop(1)else: nums.pop(-1)nums.pop(-2)else:maxfushu=fushu[-1]nums.remove(maxfushu)while k:result=result*max(nums[0]*nums[1],nums[-1]*nums[-2])k=k-2if max(nums[0]*nums[1],nums[-1]*nums[-2])==nums[0]*nums[1]:nums.pop(0)nums.pop(1)else:nums.pop(-1)nums.pop(-2)
if result>=0:print(result%1000000009)
else:print(0-(0-result)%1000000009)
乘积最大python相关推荐
- 2018拼多多校招【最大乘积】Python解法
题目描述 给定一个无序数组,包含正数.负数和0,要求从中找出3个数的乘积,使得乘积最大,要求时间复杂度:O(n),空间复杂度:O(1) 输入描述: 无序整数数组A[n] 输出描述: 满足条件的最大乘积 ...
- 拼多多校招----最大乘积(python)
一.题目 题目描述 给定一个无序数组,包含正数.负数和0,要求从中找出3个数的乘积,使得乘积最大,要求时间复杂度:O(n),空间复杂度:O(1) 输入描述: 无序整数数组A[n] 输出描述: 满足条件 ...
- python找最长的单词_318. 最长单词长度乘积(Python)
题目 难度:★★★☆☆ 类型:数组,字符串 方法:无 给定一个字符串数组 words,找到 length(word[i]) * length(word[j]) 的最大值,并且这两个单词不含有公共字母. ...
- 【Python】求笛卡尔乘积
在数学中,两个集合X和Y的笛卡尓乘积(Cartesian product),又称直积,表示为X × Y,第一个对象是X的成员而第二个对象是Y的所有可能有序对的其中一个成员.假设集合A={a,b},集合 ...
- python 笛卡尔_Python实现求笛卡尔乘积的方法
本文实例讲述了Python实现求笛卡尔乘积的方法.分享给大家供大家参考,具体如下: 在数学中,两个集合X和Y的笛卡尓乘积(Cartesian product),又称直积,表示为X × Y,第一个对象是 ...
- python求乘积_Python实现求笛卡尔乘积的方法
Python实现求笛卡尔乘积的方法 本文实例讲述了Python实现求笛卡尔乘积的方法.分享给大家供大家参考,具体如下: 在数学中,两个集合X和Y的笛卡尓乘积(Cartesian product),又称 ...
- python求乘积_Python实现求笛卡尔乘积方法详解
这篇文章主要介绍了Python实现求笛卡尔乘积的方法,结合实例形式分析了Python计算笛卡尔乘积的原理与实现技巧,需要的朋友可以参考下 本文实例讲述了Python实现求笛卡尔乘积的方法.分享给大家供 ...
- Python机器视觉编程常用数据结构与示例
Python机器视觉编程常用数据结构与示例 本文总结了使用Python进行机器视觉(图像处理)编程时常用的数据结构,主要包括以下内容: 数据结构 通用序列操作:索引(indexing).分片(slic ...
- 10个你必须知道的Python内置函数
自从把精力投入到次幂数据(www.cimidata.com) 这个产品后,貌似很久很久没有写过原创文章了,人一旦懒起来也会形成习惯,反之亦然.一个目标之所以难以坚持,很大可能是太大了. 在我们的一个跑 ...
最新文章
- Python3破冰人工智能,你需要掌握一些数学方法
- 应用程序框架实战三十六:CRUD实战演练介绍
- 使用SharedPreferences存储和读取数据
- 为view设置虚线边框
- Vue工程报错解决方案Warn:import Vue from “vue“;
- linux 下 Apache自启动 配置方法
- 群体智能优化算法之猫群算法(Cat Swarm Optimization)
- EPS FB信令流程
- 从月薪3000到月薪过万:做什么工作才能过上想要的生活
- strongswan与sangfor的ikev2配置
- python - 作业13:打地鼠小游戏(附代码)
- DWG中注记类型属性转换
- 内网穿透软件对比——cpolar : 网云穿(下)
- 算法之大数运算加减法源代码
- 怎么放慢音乐速度_为什么我的相机放慢速度或停止连拍?
- (1) DPDK 简介
- excel函数公式大全,最常用的6个公式
- 基于JAVA的类与对象做出的英雄打怪兽程序
- linux开发板汉字显示,Linux Qt 及Arm开发板汉字显示
- 零点极点传递函数以及伯德图
热门文章
- Db2数据分布不均匀导致的select ... fetch first n rows only性能问题
- c语言编码rna翻译,哪位大牛有哈夫曼编码的C语言源程序,麻烦帮帮忙啦!
- UICollectionView 适配 iPhone 7 Plus
- Graph Coverage
- CSS砖头盖大楼(一)
- 读卡器插电脑不显示盘符
- Ted英语单词-A brief history of alcohol
- 2017ACM暑期多校联合训练 - Team 8 1011 HDU 6143 Killer Names (容斥+排列组合,dp+整数快速幂)...
- Microsoft Visual Studio 2019正式版离线安装包下载
- OSChina 周一乱弹 —— 怎么搭讪学医的女孩,说你有病!