题目: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默认从大到小排列---水题)相关推荐

  1. UVA11059 Maximum Product

    问题链接:UVA11059 Maximum Product.基础级练习题,用C语言编写程序. 题意简述:输入n个整数序列,有正有负,求这个序列中最大连续累乘的子序列,其最大的值为多少.如果结果为负数, ...

  2. 在python中输入10个整数并求出最大值_python练习题 :用户任意输入10个整数到列表中,然后由大到小排列并输出。...

    一:填空题: 1.python是一种面向_对象 __的高级语言. 2.python可以在多种平台运行,这体现了python的___可移植___特性. 3.python源代码被解释器转换后的格式为___ ...

  3. Java实验——设计一个数组模型,用于存储体育项目成绩男生体育项目有足球、长跑和铅球,女生体育项目有跳舞、体操、游泳。设计排序算法,将变量a、b、c中的数值按大小顺利进行互换(从大到小排列)。

    设计一个数组模型,用于存储体育项目成绩:男生体育项目有足球.长跑和铅球,女生体育项目有跳舞.体操.游泳. import java.util.Scanner;public class DataArray ...

  4. 【python】输出30以内的质数并输出、统计个数、以及从大到小排列。

    [python]输出30以内的质数并输出.统计个数.以及从大到小排列. 创建一个空列表 first_list = [] 寻找30以内的质数 for i in range(2, 30): for j i ...

  5. 将三个数字由大到小排列

    #include <stdio.h>int main() {int a=1;int b=1;int c=1;int k;printf("请输入任意三个数字:\n");s ...

  6. php从大到小排列数字,php输入几个数从大到小排序

    php输入几个数从大到小排序 以下程序实现了在网页输入几个数,按照从大到小排序并输出的功能,希望对需要的朋友有帮助: Document 请输入要排序的数据 - - - - if(isset($_POS ...

  7. c语言自动输入0到1000,c语言实现输入一组数自动从大到小排列

    #include main() { int x; printf("请输入要排序数字个数:"); scanf("%d",&x); int i,j,k,a, ...

  8. python 怎么让列表里的数从大到小排列_Python实现把列表里的数字按从小到大的顺序排列...

    一.自己造轮子 第一种方式的思路: 拿出列表里的第0个元素,把它赋给一个叫做"最小值"的变量,然后用这个变量去跟后面的每个数字一一对比,如果碰到比它小的,就把那个新发现的小数字赋给 ...

  9. php中三个数字由小到大输出,[求助][C语言求助]输入10个数字,并将这些数字由大到小排列...

    //这是冒泡法,我把5楼的改了一下 #include using namespace std; #define SIZE 10 int main(void) { int arr[SIZE]; int ...

  10. python range从大到小排列_python 十大经典排序算法

    人生苦短,我用python! 排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存.常见的内部排序 ...

最新文章

  1. linux shell 基础 使用日志与心得
  2. 图像中的灰度共生矩阵
  3. 12.JDK1.8 JVM运行时数据区域概览、各区域介绍、程序计数器、Java虚拟机栈、本地方法栈、堆、堆空间内存分配(默认情况下)、字符串常量池、元数据区、jvm参数配置
  4. imp导入前对当前用户清库脚本
  5. H26L encoder.cfg参数分析
  6. Java—正则表达式(Pattern类和Matcher类)
  7. 云南省高中计算机学业水平考试,云南省高中计算机学业水平考试技巧
  8. 【转载】MySQL -- SET NAMES utf8
  9. vlan划分_基于MAC地址划分VLAN配置示例
  10. Android 程序中获取一个反向 Shell
  11. 前端每日实战:121# 视频演示如何用 CSS 和 D3 创作一个小鱼游动的交互动画
  12. 相关性和显著性检验学习笔记
  13. 微商选择满意商品的方法
  14. 微信小程序tabBar配置中的坑中坑
  15. 09-实战拓展(ico图标、图标字体、网站优化三大标签、logo优化、过渡transition、:focus获取元素焦点)
  16. 2017企业网盘年终盘点|机遇与挑战并存,寡头显现
  17. 网站运营服务器宽带成本,网站运营的成本
  18. python输入,Python中的基本输入和输出
  19. 关于公钥、私钥和 CA 认证的小故事
  20. 解决报错:Mapped Statements collection already contains value for...

热门文章

  1. 微软4月13日发布Silverlight 4正式版
  2. Linux安装samba服务
  3. jsjavaScriptDate的时间格式转换,直接粘贴就可以使用
  4. 后台传一个状态值,如果在vue设置成正常停用?
  5. Form-Item Slot 自定义label内容
  6. WPF设置控件获得焦点FocusManager
  7. Drupal 曝出代码执行高危漏洞,数百万网站受影响
  8. 24、List三个子类的特点
  9. iOS开发UI篇--仿射变换(CGAffineTransform)使用小结
  10. “独立博客”为什么独立?