M个位置可以打sif,N+1个人等着打sif,已知前N个人的时间,问第N+1个人什么时候才能打sif(不能插队,即必须按顺序来打sif)
输入N,M以及每个人所需要的时间;输出第N+1个人所需的时间
用优先队列用优先队列用优先队列
队列用来存每个水龙头所需要的总时间,到了最后用了最少时间的水龙头就是第N+1个人所需等待的时间#include#include #include #include using namespace std;priority_queue sxb;int main(){ freopen("death.in","r",stdin); freopen("death.out","w",stdout); int y,n,m,x; cin>>n>>m; for(int i=1;i<=m;i++) { scanf("%d",&x); sxb.push(-x); } int t=0,k; for(int i=1+m;i<=n;i++) { cin>>x; k=-sxb.top()+x; sxb.pop(); sxb.push(-k); } t=-sxb.top(); cout<