1 条题解

  • 0
    @ 2025-3-15 23:49:03

    n,mn,m不分导致的。

    #include <bits/stdc++.h>
    using namespace std;
    
    const int N = 1e5 + 10;
    
    int n, m, a[N], b[N], id[N], ans[N];
    
    bool cmp(int x, int y) {
        return b[x] > b[y]; 
    }
    
    int main() {
        cin >> n >> m;
        for(int i = 1; i <= n; ++ i) cin >> a[i];
        for(int i = 1; i <= m; ++ i) cin >> b[i], id[i] = i;
    
        sort(id + 1, id + 1 + m, cmp);
        sort(a + 1, a + 1 + n, greater<int>());
    
        for(int i = 1; i <= n; ++ i) ans[id[(i - 1) % m + 1]] += a[i];
    
        for(int i = 1; i <= m; ++ i) cout << ans[i] << ' ';
    
        return 0;
    }
    
    • 1

    信息

    ID
    522
    时间
    1000ms
    内存
    64MiB
    难度
    10
    标签
    递交数
    3
    已通过
    1
    上传者