1 条题解
-
0
#include<bits/stdc++.h> using namespace std; int a[11100]; int main() { int n, m;scanf("%d%d", &n, &m); for(int i=1;i<=n;i++)scanf("%d", &a[i]); priority_queue<int, vector<int>, greater<int>>Q;//小根堆 int ans=0; for(int i=1;i<=n;i++) { if(Q.size()<m) { Q.push(a[i]);ans=max(ans, a[i]); } else { int x=Q.top()+a[i];Q.pop(); Q.push(x);ans=max(ans, x); } } printf("%d\n", ans); return 0; }
- 1
信息
- ID
- 660
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 7
- 标签
- 递交数
- 313
- 已通过
- 75
- 上传者