贝壳找房换了一个全新的办公室,每位员工的物品都已经通过搬家公司打包成了箱子,搬进了新的办公室了,所有的箱子堆放在一间屋子里(这里所有的箱子都是相同的正方体),我们可以把这堆箱子看成一个 x*y*z 的长方体。

贝壳找房的leader觉得所有的箱子放在一间房子里有点太挤了,不方便每个员工搬运自己的物品,于是又让搬家公司把这堆箱子的前面、后面、左边、右边、顶上各取走了一层放到其他屋子里。

当搬家公司搬完物品之后,贝壳找房的leader知道剩下了多少个箱子,但是不知道搬家公司又搬运了多少个箱子,那么请问搬家公司最少和最多搬走了多少个箱子?

输入格式

第一行一个整数 TT,表示数据组数。

每组数据中,一个正整数 n,n 代表剩余箱子的数目。

输出格式

输出 TT 行,每行两个正整数 min,max,其中min,max分别代表最少和最多搬走的箱子数。

数据范围
n<=10^6   

样例输入
2
4
100

样例输出
28 41
145 809

参考代码::

#include<iostream>
#define INF 0x3fffffff
using namespace std;
int main()
{
    int n;
    cin>>n;
    int num;
    while(n--)
    {
        cin>>num;
        int mi=INF,ma=0;//mi,ma分别表示所求的最小,最大值
        for(int i=1;i*i*i<=num;i++)//i代表现在的长方体最小的那条边
        {
            if(num%i)continue;
            for(int j=i;j*j<=num;j++)//j代表现在的长方体中间的(第二长)那条边
            {
                if(num%j)continue;
                if(num%(i*j)==0)
                {
                    int t=num/(i*j);//则t是当前考虑的长方体的第三条边(最长边)

//由于i,j,t三者都分别有可能是长,宽和高,因此对不同情况分别考虑,每次都更新mi,ma
                    mi=min(mi,(i+1)*(j+2)*(t+2));
                    ma=max(ma,(i+1)*(j+2)*(t+2));
                    mi=min(mi,(i+2)*(j+1)*(t+2));
                    ma=max(ma,(i+2)*(j+1)*(t+2));
                    mi=min(mi,(i+2)*(j+2)*(t+1));
                    ma=max(ma,(i+2)*(j+2)*(t+1));
                }
            }
        }
        cout<<mi-num<<" "<<ma-num<<endl;
    }
    return 0;
}

2018 计蒜之道 初赛 第五场 A 贝壳找房搬家的更多相关文章

  1. 2017 计蒜之道 初赛 第五场 D. UCloud 的安全秘钥(困难)

    小数据打表,大数据暴力. 导致超时的主要原因是$m$小的询问次数太多,可以把$m≤10$的答案直接暴力打表存起来,$m>10$的用$C$题的方法即可. #include <iostream ...

  2. 2017 计蒜之道 初赛 第五场 C. UCloud 的安全秘钥(中等)

    暴力. $O(m*n)$的算法可以通过此题,每次询问$O(m)$扫$S$数组,统计不同数字的个数,每次移动最多只会变化两个数字,如果不同数字个数为$0$,那么答案加$1$. #include < ...

  3. 2017 计蒜之道 初赛 第五场 B. UCloud 的安全秘钥(简单)

    暴力. 暴力枚举$S$串的每一个长度为$m$的子串,排序判断即可. #include <iostream> #include <cstdio> #include <cst ...

  4. 2017 计蒜之道 初赛 第五场 A. UCloud 机房的网络搭建

    贪心. 从大到小排序之后进行模拟,注意$n=1$和$n=0$的情况. #include <iostream> #include <cstdio> #include <cs ...

  5. 2017 计蒜之道 初赛 第五场 UCloud 的安全秘钥(中等)

    每个 UCloud 用户会构造一个由数字序列组成的秘钥,用于对服务器进行各种操作.作为一家安全可信的云计算平台,秘钥的安全性至关重要.因此,UCloud 每年会对用户的秘钥进行安全性评估,具体的评估方 ...

  6. 2018 计蒜之道-初赛 第一场 A-百度无人车

    百度一共制造了 nn 辆无人车,其中第 ii 辆车的重量为 a_i\ \mathrm{kg}ai​ kg. 由于车辆过重会增大轮胎的磨损程度,现在要给这 nn 辆车减轻重量.每将一辆车减轻 1\ \m ...

  7. 计蒜之道 初赛 第三场 题解 Manacher o(n)求最长公共回文串 线段树

    腾讯手机地图 腾讯手机地图的定位功能用到了用户手机的多种信号,这当中有的信号的作用范围近.有的信号作用的范围则远一些.有的信号相对于用户在不同的方位强度是不同的,有的则是在不论什么一个方向上信号强度都 ...

  8. 2017 计蒜之道 初赛 第三场 D. 腾讯狼人杀 (点边都带权的最大密度子图)

    点边都带权的最大密度子图,且会有必须选的点. 求\(\frac{\sum w_e}{k*(2n-k)}\)的最大值,其中k为子图点数 设\[h(g) = \sum w_e - g*(2nk-k^2)\ ...

  9. 2016计蒜之道初赛第四场A

    在每年的淘宝“双十一”时,访问量都会暴涨,服务器的请求会被流量分配程序按照一定策略,分发给不同的进程去处理.有一类请求,有两个进程可以接受分发的请求,其中一个进程所在服务器的配置.网络传输性能等都要优 ...

随机推荐

  1. 【基本优化实践】【1.1】IO优化——把文件迁移到不同物理磁盘

    [1]概念 把不同数据文件移动到不同的物理磁盘,无疑是一个提高IO的有效办法 在资源可以的情况下,尽量把 temp .数据库的主数据文件(mdf).数据库的从数据数据(ndf).数据库的事务日志文件( ...

  2. 在PostgreSQL中 pg_start_backup 做了什么?

    # 在PostgreSQL中 pg_start_backup 做了什么?HM 2019-07-30 ## pg_start_backup 做一个备份开始标记,还做了一些其他的操作,下面进行探寻. * ...

  3. ORA-00911: invalid character解决方法

    今天在搭建VLS系统后,登录系统测试时发现点击菜单提示错误“ORA-00911:???”.网上很多是因为语句中带分号导致的,但是这次是点开菜单就报错,怀疑是字符集设置的问题. 参考网上的解决方案,添加 ...

  4. Java基础(五)

    方法概述 方法的定义格式 什么是方法?方法就好像是一个工厂. 如奶牛场 原料:奶牛,饲料 产出物:牛奶,各种奶制品 程序当中的方法 参数(原料):进入方法的数据 返回值(产出物):从方法中出来的数据 ...

  5. 关于redis的几件小事(十)redis cluster模式

    redis cluster是redis提供的集群模式. 1.redis cluster的架构 ①可以有多个master node,每个master node 都可以挂载多个slave node. ②读 ...

  6. 部署Flannel网络

    部署Flannel网络 部署flannel网络需要执行以下步骤: 1)写入分配的子网段到etcd,供flanneld使用 2)下载二进制包 3)配置Flannel 4)systemd管理Flannel ...

  7. 第二篇 HTML 常用元素及属性值

    常用元素及属性值 先和同学了解下,一部分常用的元素,区别以及属性,常用在哪里.   标签是由左右尖括号抱起来的,由开始标签开始,再由结束标签结束,里面内容则是元素,比如:<div>< ...

  8. python cv2截取不规则区域图片

    知识掌握 cv2.threshold()函数: 设置固定级别的阈值应用于多通道矩阵,将灰度图像变换二值图像,或去除指定级别的噪声,或过滤掉过小或者过大的像素点. Python: cv2.thresho ...

  9. 1.(基础)tornado初识

    tornado的话就不带着大家看源码了,今后可能会介绍,目前只是看简单的用法,而且当前的tornado版本不高,其实说白了这是很久以前写的文档,但是由于格式的原因,所以打算用Markdown重写一次. ...

  10. 记录一下RAC的使用

    1  常规的对数组的操作,包括遍历.刷选.映射.替换 // 遍历 NSArray * array = @["]; [array.rac_sequence.signal subscribeNe ...