2023 得物笔试题 0912

笔试时间:2023年9月12日 秋招

第一题

题目:小A的宝石

小A收集到了n颗宝石,第i个宝石有其美丽值a[i],小A决定挑出一些宝石带回家,一颗带回家的宝石给小A带来的快乐值与其石头本身的美丽值相等。虽然并不是所有宝石的美丽值都为正数,但是小A还是认为能有收获也是一件很开心的事,故而每带回家3颗宝石,小A的快乐值就会加k。问小A要如何选择宝石带回家,使得自已能获得的快乐值最高。请输出快乐值的最大值。

输入描述

第一行包括两个正整数n,k,表示收集到的宝石的数量和每带回家3颗宝石快乐值的增加量。

第二行包括n个整数,表示i第宝石的美丽值。

-1000 <= a[i] <= 1000, 1 <= k <= 1000,1 <= n <= 100000。

输出描述

输出能获得的快乐值的最大值。

样例输入

5 5

1 2 3 4 -6

样例输出

15

提示

带回前三颗宝石能获得(1+2+3+5=11)的快乐值,同时再带回第四颗宝石,总共获得的快乐值为15,这时是能获得的最大的快乐值。

参考题解

贪心算法,对宝石进行倒序排列,假设排序后的前缀和为s[i],则最后的结果为max(s[i] + i/3 * k)。

C++:[此代码未进行大量数据的测试,仅供参考]

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int main() {
    int n, k;
    cin >> n >> k;
    vector<int> a(n);
    for (int i = 0; i < n; i++) {
        cin >> a[i];
    }
    sort(a.begin(), a.end(), greater<int>());
    int ans = 0;
    int s = 0;
    for (int i = 0; i < n; i++) {
        s += a[i];
        ans = max(ans, s + (i + 1) / 3 * k);
    }
    cout << ans << endl;
    return 0;
}

Java:[此代码未进行大量数据的测试,仅供参考]

import java.util.Arrays;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        int k = scanner.nextInt();
        int[] a = new int[n];
        

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

2023 秋招笔试题汇总解析 文章被收录于专栏

2023秋招各大笔试题汇总,c++,java,python多种语言分析,解答。

全部评论

相关推荐

想做个最终总结,本人春招从二月底持续投简历+改简历+写测评+做笔试+面试但三月底,然后再陆陆续续面到现在,一共是有收到三份offer,第一份北京某外包,第二份上海一家小而美公司(早10晚6双休),第三份超星集团。其实到了现在自己到底想要什么已经很清楚了,从考研落榜那天开始,几乎每天都很郁闷,身边的人陆陆续续上岸,说实话非常羡慕,倒也不是攀比或者人云亦云,本人选择考研就是为了提升学历将来找到好工作,还有就是家里人都希望我继续读书,我母亲只读完了高中,我父亲完整的读完了大专,他当时比较偏科,没有考上本科,所以对我抱有很大的期望,但我的父母并没有给我什么压力,在做人生选择的时候,选择权永远是交给我的,说起来有些不好意思,本人从小学习就不太好,目前就读的双非也是高中复读一年才考上的,在第一年高考之后父母就让我自己选择要不要复读,并且给我他们的意见,我很庆幸当时接收了他们的建议。而到了现在,每当我收到offer以后我都会很纠结,“工作还是再来一年,最终做选择的还是你,无论你做什么决定,我们都会支持你”,每次和父母寻求建议之后,他们都会加上这几句话。其实我是清楚的,虽然父母没有明说,但是相比于直接工作,他们更希望我继续读书,他们的想法和我一样,读书可以找到更好的工作赚更多的钱,“一个人的一生里,读书的时光是最宝贵和快乐的”,父亲是个不善言辞的人,他爱喝酒,每当他喝了酒以后,话匣子就打开了,他爱向我和妹妹分享他读书时候的日常琐事,他工作很辛苦,那段时光也更加让他怀念。父母更希望我继续读书,因为在他们的认知里,学生时代是最宝贵快乐的,每次生活费都会多发,其实我根本就用不了这么多,他们认为大学生活是丰富多彩的,让我多去吃多去玩,“找了女朋友再给你每个月加500(笑)”,结果我孤寡了四年hhh,他们希望我继续读书,继续快乐下去。起初我拿了第一个offer后就和母亲说起我的纠结,我已经快23了,再来一年是不是不太好,“想做就去做,你才23岁”,我猛地意识到,是啊,在50岁的母亲眼里,我是多么年轻,有着多么大的潜力。是的,我不是个聪明的人,至少在读书上没啥天赋,但现在我决定再试一次,为了更好的工作,也回报父母的期望。最后附上两张前几天拍下的星空,祝愿每个人都能找到自己心底真正想要的东西,想做就去做,我们都还年轻 #春招#
点赞 评论 收藏
转发
3 4 评论
分享
牛客网
牛客企业服务