zoukankan      html  css  js  c++  java
  • CSUSTOJ-白银探病篇(简单思维)

    题目链接:http://acm.csust.edu.cn/problem/4045
    CSDN食用链接:https://blog.csdn.net/qq_43906000/article/details/109481530

    Description

    在上一个决定谁去探病的游戏中,如果你没有成功帮助藤原千花获胜,那么最终三人中最聪明的白银获得了探病权,如果你成功帮助藤原千花获胜,那么很抱歉,藤原书记作弊被抓了,你和她都被罚打扫学生会办公室一周。

    回到正题,白银正在纠结去探病应该带什么礼物,他来到了商场,这里摆着 (n) 个商品,白银以自己对辉夜的了解给每个物品设置了一个好感度 (a_i) , 好感度越高代表辉夜越喜欢这个礼物,为了让辉夜高兴,白银决定让好感度的和越大越好,但是白银卖商品有一个奇怪的习惯,他每次会选择连续 (k) 个商品中,好感度最大的商品购买,如果剩余商品数量小于 (k) 个,则停止购买,请你计算出他购买的商品的好感度和的最大值。

    注:当一个商品被买走时,剩下的商品会在相对顺序不变的情况下合并,所以可以认为所有商品一直是连续的。

    input

    给你两个整数(n,k(1leq n,k leq 1e5)),表示商品的个数和白银每次选择的区间长度.

    接下来一行 (n)个数,第(i)个数表示第(i)个商品的好感度(a_i)((1leq a_i leq 1e7))

    output

    输出一个正整数,表示白银购买的商品的好感度和的最大值.

    Sample Input 1
    5 3
    1 2 3 4 5
    Sample Output 1
    12

    emmm,按照题目描述,我们会剩下k-1个值选不了,那么实际上这剩下的k-1个数就是最小的k-1个数,然后此题结束。。。。

    以下是AC代码:

    #include <bits/stdc++.h>
    using namespace std;
    
    typedef long long ll;
    const int mac=1e5+10;
    
    int a[mac];
    
    int main(int argc, char const *argv[])
    {
    	int n,k;
    	scanf ("%d%d",&n,&k);
    	ll ans=0;
    	for (int i=1; i<=n; i++)
    		scanf ("%d",&a[i]);
    	sort(a+1,a+1+n);
    	for (int i=k; i<=n; i++)
    		ans+=a[i];
    	printf("%lld
    ",ans);
    	return 0;
    }
    
  • 相关阅读:
    DBLE快速开始
    RPM包直接安装MySQL
    初试DTLE-单向-聚合-分散复制
    使用 TiUP cluster 在单机上安装TiDB
    如何升级到MySQL8.0
    SpringBoot集成AOP操作日志
    IDEA常用插件
    JAVA中如何实现字符串的反转?
    mysql数据库忘记密码时如何修改密码
    二分查找算法
  • 原文地址:https://www.cnblogs.com/lonely-wind-/p/13941867.html
Copyright © 2011-2022 走看看