批判记者(额..我起的名字....)

清北学堂2017冬令营入学测试

时间: 1000ms / 空间: 655360KiB / Java类名: Main

背景

冬令营入学测试题

描述

题目描述

小D是一名魔法师,它最喜欢干的事就是对批判记者了。

这次记者招待会上,记者对于小D的数学很好奇。于是小D找了个方法把记者批判了一番。

它对记者抛出了这么一个问题:我有n点能量,写下数字i(1<=i<=9)需要花费a{i}点能量,我用这n点能量最多能写出什么数来?(当然可以不用光n点能量,具体看样例)

记者们一脸懵逼,于是来求助于你。

输入格式

一行10个数,表示n,a1,a2,a3,…,a9。

输出格式

一个数表示答案。

备注

输入样例1

10 2 2 1 2 2 2 2 2 2

输出样例1

3333333333

输入样例2

10 4 11 11 11 11 11 11 11 10

输出样例2

11

数据范围

对于30%的数据n,ai<=10。

对于60%的数据n,ai<=100。

对于100% 的数据1<=n,ai<=1000000,n>=min{ai}。

【题目大意】

1-9这9个数,每写一个数都会耗费一定的能量,你有n点能量。

能写多大的数。

【思路】

贪心

一个数位数越大这个数越大,位数相同时高位数越大这个数越大。

我们先用耗能量小的数添位数,让我们写的这个数位数尽量的长。

然后用剩余的能量在位数不变的情况下,位数能换成更大的数就换。

【吐槽】

(#‵′)靠我换了三台机子编译器都炸 我还以为是自己代码错了一直在调ORZ.

rp是个好东西 希望我也有QAQ

【code】

一开始我只是按照耗能由小到大排序,尽量写得位数多,没有想到在位数不变的情况下换更大的数。

#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
struct N
{
    int val,sz;
}s[11];
int n,l=1,cnt,ans[10000];
bool cmp(N a,N b)
{
    if(a.val==b.val)return a.sz>b.sz;
    return a.val<b.val;
}
int main()
{
    scanf("%d",&n);
    for(int i=1;i<=9;i++)
    {
        scanf("%d",&s[i].val);
        s[i].sz=i;
    }
    sort(s+1,s+10,cmp);
    s[10].val=1e9;
    while(n)
    {
        while(n>=s[l].val)
        {
            n-=s[l].val;
            ans[++cnt]=s[l].sz;
        }
        if(l>9)break;
        l++;
    }
    for(int i=1;i<=cnt;i++)
    cout<<ans[i];
    return 0;
}

dalao代码 条理清晰 层次分明

#include<iostream>
#include<cstdio>
using namespace std;
int n,a[20],minn=1e9,s,ans[10];
int main()
{
    scanf("%d",&n);
    for(int i=1;i<=9;i++)
    scanf("%d",&a[i]);
    for(int i=1;i<=9;i++)
    {
        if(a[i]<minn||(a[i]==minn&&i>s))
        {
            minn=a[i];
            s=i;
        }
    }
    ans[s]=n/minn;
    n%=minn;
    for(int i=9;i>s;i--)
    {
        while(minn+n>=a[i])
        {
            ans[s]--;
            ans[i]++;
            n=n+minn-a[i];
        }
    }
    for(int i=9;i>=1;i--)
    for(int j=1;j<=ans[i];j++)
    printf("%d",i);
    return 0;
}
时间: 2024-12-20 13:36:45

批判记者(额..我起的名字....)的相关文章

2016 年末 QBXT 入学测试

P4744 A’s problem(a) 时间: 1000ms / 空间: 655360KiB / Java类名: Main 背景 冬令营入学测试题,每三天结算一次成绩.参与享优惠 描述 这是一道有背景的题目,小A也是一个有故事的人.但可惜的是这里纸张太小,小A无法把故事详细地说给大家听.可能小A自己也讲不清楚自己的故事,因为如果讲清了,也就没有这道题目了…… 小A的问题是这个样子,它找到了n份不同的工作,第i份工作每个月有ai的工资,每份工作需要小A每天工作8小时,一周工作7天.小A想知道性价

【Linux运维-集群技术进阶】Nginx+Keepalived+Tomcat搭建高可用/负载均衡/动静分离的Webserver集群

额.博客名字有点长.. . 前言 最终到这篇文章了,心情是有点激动的. 由于这篇文章会集中曾经博客讲到的全部Nginx功能点.包含主要的负载均衡,还有动静分离技术再加上这篇文章的重点.通过Keepalived实现的HA(High Available).为什么要实现高可用呢?曾经在搭建的时候仅仅用了一台Nginxserver,这种话假设Nginxserver宕机了,那么整个站点就会挂掉.所以要实现Nginx的高可用,一台挂掉还会有还有一台顶上去.从而保证站点能够持续的提供服务. 关于负载均衡和动静

P4812 D’s problem(d)

P4812 D’s problem(d)From: admin 时间: 1000ms / 空间: 65536KiB / Java类名: Main 背景 NOIP春季系列课程 描述 小D是一名魔法师,它最喜欢干的事就是批判记者了. 这次记者招待会上,记者对于小D的数学很好奇.于是小D找了个方法把记者批判了一番. 它对记者抛出了这么一个问题:我有一个长为n的01序列,你能否找到一个位置x,使得1~x中的1的个数与x+1~n中的0的个数相等呢? 记者们表示这样的x可能有多个,因此记者回答了最小的满足要

P4747 D’s problem(d)

时间: 1000ms / 空间: 655360KiB / Java类名: Main 背景 冬令营入学测试题 描述 题目描述 小D是一名魔法师,它最喜欢干的事就是对批判记者了. 这次记者招待会上,记者对于小D的数学很好奇.于是小D找了个方法把记者批判了一番. 它对记者抛出了这么一个问题:我有n点能量,写下数字i(1<=i<=9)需要花费a{i}点能量,我用这n点能量最多能写出什么数来?(当然可以不用光n点能量,具体看样例) 记者们一脸懵逼,于是来求助于你. 输入格式 一行10个数,表示n,a1,

清北学堂2017NOIP冬令营入学测试

P4744 A's problem(a) 时间: 1000ms / 空间: 655360KiB / Java类名: Main 背景 冬令营入学测试题,每三天结算一次成绩.参与享优惠 描述 这是一道有背景的题目,小A也是一个有故事的人.但可惜的是这里纸张太小,小A无法把故事详细地说给大家听.可能小A自己也讲不清楚自己的故事,因为如果讲清了,也就没有这道题目了-- 小A的问题是这个样子,它找到了n份不同的工作,第i份工作每个月有ai的工资,每份工作需要小A每天工作8小时,一周工作7天.小A想知道性价

我才是腾讯的 第一任董事长” ——马化腾父母记忆中的腾讯QQ

我才是腾讯的第一任董事长” ——马化腾父母记忆中的腾讯QQ 本报记者 王 荣 李 迩 王斗天 ▲马化腾是一位天文爱好者   ▲马陈术夫妇   ▲上大学时马化腾就与网 络结下不解之缘. 儿时的马化腾.       11年前,深圳大学计算机系学生马化腾与几位同学,第一次在网络上打出小企鹅.今天,这个小企鹅不仅改变了中国人际交往和信息沟通的方式,而且也成就了中国互联网最成功的企业之一——腾讯.目前,这个从5万元开始创业的深圳本土互联网企业,单季收入已达到了人民币20.245亿元,经营盈利也超过8.10

带你深入理解Activity启动模式(LaunchMode)

我们知道默认情况下,当我们多次启动同一个activity时,系统会创建多个实例并把他们一个个放入任务栈,当我们按back键,这些activity又会一个个退出.在讲activity的launchmode之前,我们有必要了解下"任务栈(Task Stack)"这个概念.在Android中是使用任务(Task)来管理Activity的,任务就是存放在栈里面的Activity的集合,这个栈就是称为任务栈. 一,Activity的LaunchMode 明白任务栈的概念后,我们再来了解Activ

Python中的metaclass

Class也是Object 在理解metaclass之前,我们需要先理解Python中的class.从某种程度上来说,Python中的class的定位比较特殊. 对于大部分面向对象语言来说,class是一段定义了如何产生object的代码块.在Python中这一定义也成立: >>> class example(object): ... pass ... >>> object1 = example() >>> print(object1) <__m

凤凰卫视帅哥记者魔性报道传疯了!我就看了50遍k

(本文选摘自<图绘暹罗 : 一部国家地缘机体的历史>,[美]通猜·威尼差恭 著,袁剑 译,译林出版社2016年12月.经授权,澎湃新闻转载.现标题与小标题为编者所拟.) 从<汉字三千年>大展,到持续十年以上的"东京中国电影周":从走过八年的中日友好杯高尔夫球大赛,到冯学敏运用摄影镜头展现中日黄檗文化交流,越来越多的中日交流背后都出现了在日华人的身影,华侨华人成文化交流生力军. 泰国军政府在2014年推翻民选政府,强制使国家稳定下来.10多年来,泰国都因为支持王室