首页 > 编程语言 >C++ 1070 结绳 (乙级)

C++ 1070 结绳 (乙级)

时间:2024-12-09 22:01:16浏览次数:5  
标签:串成 结绳 串连 绳子 C++ int num 1070 长度

给定一段一段的绳子,你需要把它们串成一条绳。每次串连的时候,是把两段绳子对折,再如下图所示套接在一起。这样得到的绳子又被当成是另一段绳子,可以再次对折去跟另一段绳子串连。每次串连后,原来两段绳子的长度就会减半。

rope.jpg

给定 N 段绳子的长度,你需要找出它们能串成的绳子的最大长度。

输入格式:

每个输入包含 1 个测试用例。每个测试用例第 1 行给出正整数 N (2≤N≤104);第 2 行给出 N 个正整数,即原始绳段的长度,数字间以空格分隔。所有整数都不超过104。

输出格式:

在一行中输出能够串成的绳子的最大长度。结果向下取整,即取为不超过最大长度的最近整数。

输入样例:

8
10 15 12 3 4 13 1 15

输出样例:

14
#include <bits/stdc++.h>
using namespace std;
int main (void){
    int n;
    cin>>n;
    double num[n+10]={0};
    for(int i=0;i<n;i++){
        cin>>num[i];
    }
    sort(num,num+n);
    double sum=num[0];
    for(int i=1;i<n;i++){
        sum/=2.0;
        num[i]/=2.0;
        sum+=num[i];
        // sum/=2.0;
    }
    sum=floor(sum);
    printf("%.0lf\n",sum);
    return 0;
}

 

标签:串成,结绳,串连,绳子,C++,int,num,1070,长度
From: https://blog.csdn.net/Communist19/article/details/144357479

相关文章

  • C++ 1072 开学寄语 (乙级)
    下图是上海某校的新学期开学寄语:天将降大任于斯人也,必先删其微博,卸其QQ,封其电脑,夺其手机,收其ipad,断其wifi,使其百无聊赖,然后,净面、理发、整衣,然后思过、读书、锻炼、明智、开悟、精进。而后必成大器也!本题要求你写个程序帮助这所学校的老师检查所有学生的物品,以助其成大器......
  • C++ 1093 字符串A+B (乙级)
    给定两个字符串A和B,本题要求你输出A+B,即两个字符串的并集。要求先输出A,再输出B,但重复的字符必须被剔除。输入格式:输入在两行中分别给出A和B,均为长度不超过106的、由可见ASCII字符(即码值为32~126)和空格组成的、由回车标识结束的非空字符串。输出格式:在一行中......
  • CCF GESP C++ 二级上机题(十六道题及其思路详解合集)
    #include<iostream>usingnamespacestd;intmain(){//定义一个整型变量n,用于接收输入的数值,该数值将决定后续循环的次数等操作intn;cin>>n;//定义两个循环变量i和j,分别用于外层循环和内层循环的计数inti,j;//定义字符变量s并初始化......
  • C++的抽象类
    抽象类概念在C++中,抽象类是一个无法实例化的类,通常用于定义接口或基类。抽象类的主要特征是至少包含一个纯虚函数(purevirtualfunction),这种函数在基类中没有实现,必须由派生类提供具体的实现。抽象类的主要作用是提供一个共享的接口,使得不同的派生类可以实现这些接口,从而实......
  • 【C++算法】35.位运算_两整数之和
    文章目录题目链接:题目描述:解法C++算法代码:题目链接:371.两整数之和题目描述:解法笔试的话直接returna+b;接下来讲一下这题的解法:位运算(异或运算-无进位相加)例如:13和2813+28=4113的二进制位a:00110128的二进制位b:011100a^b:010001因为异或运算是无进......
  • 【C++算法】36.位运算_只出现一次的数字 II
    文章目录题目链接:题目描述:解法C++算法代码:解析题目链接:137.只出现一次的数字II题目描述:解法你必须设计并实现线性时间复杂度的算法且使用常数级空间来解决此问题。说明时间复杂度O(n),空间复杂度O(1)意外发现出现1次的那个数和所有比特位当前的和%3得......
  • c++ 模板编程
    c++模板编程C++中模板分为函数模板和类模板函数模板:是一种抽象函数定义,它代表一类同构函数。类模板:是一种更高层次的抽象的类定义。优缺点优点代码复用  模板允许编写与具体数据类型无关的代码,从而实现代码复用。你可以针对不同的数据类型使用相同的模板函数或模板类,而......
  • C++小小复习一下
    类,对象,成员变量,成员函数特点:面向对象程序设计---因为要创建对象来调用类里面的函数或者成员变量比如你的对象是一个生物-人:他会有自己的一些属性:身高,体重,性别等,还有一些行为比如:有人惹他,他会骂回去或者打回去,这个骂和打的动作或者行为需要一系列的身体各个机能共同合作才能实......
  • C++_默认构造函数和重载以及设计模式
    类和类之间关系类外:静态变量,是在编译阶段就分配好空间,对象还没创建的时候就有了空间类:类-对象-对象是类的一个实例类头(classhead)和类体(classbody)。将数据和行为封装在单个单元中--封装成员变量成员函数成员变量称为属性(property);成员函数称为方法(metho......
  • [c++]c++ 工程代码中的debug时条件编译隐去的代码会影响程序运行的性能和耗时吗
    前言 理解在C++(或任何编程语言)中,使用条件编译(如通过#ifdef,#ifndef,#endif预处理指令)来根据调试(debug)或发布(release)模式包含或排除代码段,对程序在最终编译后的性能和耗时通常是没有直接影响的。这是因为条件编译指令是在编译之前处理的,它们决定了哪些代码会被编译器实际编......