【UVA11059】Maximum Product(set+set默认从大到小排列---水题)
题目:https://vjudge.net/problem/UVA-11059
set<int,greater<int> > s;
s中元素默认从大到小排列
ac代码:
#include <iostream>
#include <cmath>
#include <cstring>
#include <cctype>
#include <algorithm>
#include <stdlib.h>
#include <vector>
#include <stack>
#include <queue>
#include <set>
#include <map>
#include <sstream>
using namespace std;
typedef long long ll;
int main()
{ll n,s[20],i,j,num=0,mul;//freopen("/Users/zhangkanqi/Desktop/11.txt","r",stdin);while(scanf("%lld",&n)==1){num++;set<ll,greater<ll> > ans;for(i=0;i<n;i++){scanf("%lld", &s[i]);ans.insert(s[i]);}for(i=0;i<n;i++){mul=s[i];for(j=i+1;j<n;j++){mul*=s[j];ans.insert(mul);}}set<ll,greater<ll>>::iterator it=ans.begin();printf("Case #%d: The maximum product is %lld.\n\n",num,*it<0?0:*it);}return 0;
}
网上的代码,思路不同:
#include<iostream>
#include<cstdio>
using namespace std;
long long num[100];int main()
{int n;int cnt = 0;while (cin >> n){long long ans = 0;for (int i = 0; i < n; ++i)cin >> num[i];for (int i = 1; i <= n; ++i) //i:子序列长度 {for (int j = 0; j + i <= n; ++j) //j:子序列起点 (这里之前写j + i < n,怒跪) {long long tt = 1;for (int k = j; k < j + i; ++k) //累乘 {tt *= num[k];}//cout << tt << endl;ans = max(ans, tt);}}printf("Case #%d: The maximum product is %lld.\n\n", ++cnt, ans);}return 0;
}
【UVA11059】Maximum Product(set+set默认从大到小排列---水题)相关推荐
- UVA11059 Maximum Product
问题链接:UVA11059 Maximum Product.基础级练习题,用C语言编写程序. 题意简述:输入n个整数序列,有正有负,求这个序列中最大连续累乘的子序列,其最大的值为多少.如果结果为负数, ...
- 在python中输入10个整数并求出最大值_python练习题 :用户任意输入10个整数到列表中,然后由大到小排列并输出。...
一:填空题: 1.python是一种面向_对象 __的高级语言. 2.python可以在多种平台运行,这体现了python的___可移植___特性. 3.python源代码被解释器转换后的格式为___ ...
- Java实验——设计一个数组模型,用于存储体育项目成绩男生体育项目有足球、长跑和铅球,女生体育项目有跳舞、体操、游泳。设计排序算法,将变量a、b、c中的数值按大小顺利进行互换(从大到小排列)。
设计一个数组模型,用于存储体育项目成绩:男生体育项目有足球.长跑和铅球,女生体育项目有跳舞.体操.游泳. import java.util.Scanner;public class DataArray ...
- 【python】输出30以内的质数并输出、统计个数、以及从大到小排列。
[python]输出30以内的质数并输出.统计个数.以及从大到小排列. 创建一个空列表 first_list = [] 寻找30以内的质数 for i in range(2, 30): for j i ...
- 将三个数字由大到小排列
#include <stdio.h>int main() {int a=1;int b=1;int c=1;int k;printf("请输入任意三个数字:\n");s ...
- php从大到小排列数字,php输入几个数从大到小排序
php输入几个数从大到小排序 以下程序实现了在网页输入几个数,按照从大到小排序并输出的功能,希望对需要的朋友有帮助: Document 请输入要排序的数据 - - - - if(isset($_POS ...
- c语言自动输入0到1000,c语言实现输入一组数自动从大到小排列
#include main() { int x; printf("请输入要排序数字个数:"); scanf("%d",&x); int i,j,k,a, ...
- python 怎么让列表里的数从大到小排列_Python实现把列表里的数字按从小到大的顺序排列...
一.自己造轮子 第一种方式的思路: 拿出列表里的第0个元素,把它赋给一个叫做"最小值"的变量,然后用这个变量去跟后面的每个数字一一对比,如果碰到比它小的,就把那个新发现的小数字赋给 ...
- php中三个数字由小到大输出,[求助][C语言求助]输入10个数字,并将这些数字由大到小排列...
//这是冒泡法,我把5楼的改了一下 #include using namespace std; #define SIZE 10 int main(void) { int arr[SIZE]; int ...
- python range从大到小排列_python 十大经典排序算法
人生苦短,我用python! 排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存.常见的内部排序 ...
最新文章
- linux shell 基础 使用日志与心得
- 图像中的灰度共生矩阵
- 12.JDK1.8 JVM运行时数据区域概览、各区域介绍、程序计数器、Java虚拟机栈、本地方法栈、堆、堆空间内存分配(默认情况下)、字符串常量池、元数据区、jvm参数配置
- imp导入前对当前用户清库脚本
- H26L encoder.cfg参数分析
- Java—正则表达式(Pattern类和Matcher类)
- 云南省高中计算机学业水平考试,云南省高中计算机学业水平考试技巧
- 【转载】MySQL -- SET NAMES utf8
- vlan划分_基于MAC地址划分VLAN配置示例
- Android 程序中获取一个反向 Shell
- 前端每日实战:121# 视频演示如何用 CSS 和 D3 创作一个小鱼游动的交互动画
- 相关性和显著性检验学习笔记
- 微商选择满意商品的方法
- 微信小程序tabBar配置中的坑中坑
- 09-实战拓展(ico图标、图标字体、网站优化三大标签、logo优化、过渡transition、:focus获取元素焦点)
- 2017企业网盘年终盘点|机遇与挑战并存,寡头显现
- 网站运营服务器宽带成本,网站运营的成本
- python输入,Python中的基本输入和输出
- 关于公钥、私钥和 CA 认证的小故事
- 解决报错:Mapped Statements collection already contains value for...