zoukankan      html  css  js  c++  java
  • CF1394A Boboniu Chats with Du 题解

    题面描述

    CF1394A Boboniu Chats with Du

    solve

    今天初赛模拟做到了这道题,回过头来看挺简单的,但是还是填错了一个

    首先分成 $ >m $和 $ m≤m $ 的两组 (big)(small),分别从大到小排序。

    枚举取几个(big)中的数,然后(small)里面也是从大到小取

    注意一个细节,就是大的放在最后一个可以节约一点被禁言的时间,所以占掉的时间就是 ((i-1) imes (m+1)+1)

    我感觉主人公就是CY,一天不被禁言就难受

    代码

    #include <iostream>
    #include <vector>
    #include <algorithm>
    
    using namespace std;
    
    #define int long long
    
    const int MAXN = 1e5 + 5;
    
    int big[MAXN], small[MAXN], sum[MAXN];
    int p1 = 1, p2 = 1;
    int n, m, k, x;
    
    signed main() {
        cin >> n >> m >> k;
        for(int i = 1; i <= n; i++) {
            cin >> x;
            if(x <= k) {
                small[p1++] = x;
            } else {
                big[p2++] = x;
            }
        }
        sort(small + 1, small + 1 + p1, greater<int>());
        sort(big + 1, big + 1 + p2, greater<int>());
        for(int i = 1; i <= p1; i++) {
            sum[i] = sum[i - 1] + small[i];
        }
        int ans = sum[p1], cur = 0;
        for(int i = 1; i <= p2; i++) {
            cur += big[i];
            int days = (i - 1) * (m + 1) + 1; 
            if(days > n) {
                break;
            }
            int left = min(n - days, p1); 
            ans = max(ans, sum[left] + cur);
        }
        cout << ans << endl;
    }
    
  • 相关阅读:
    input.file上传图片| FileReader h5新特性
    lua的luasocket程序
    nginx的proxy_set_header
    lua的table.sort
    lua的深拷贝和浅拷贝
    nginx的location匹配
    kong后台接口
    一些程序和工具
    lua的模式匹配
    php的一些语法
  • 原文地址:https://www.cnblogs.com/martian148/p/15259886.html
Copyright © 2011-2022 走看看