接水问题(NOIP 2010 PJT2)

这个的思路就是让各个水龙头所用的时间尽可能地接近,可以先向优先队列中推入前m个数,由于开的是小根堆最小的数在前面我们把它拿出来,加上下一个人所需的时间。如此反复,直到都接完水,最大值就是答案。
#include<bits/stdc++.h> using namespace std; const int N=1e4+10; int n,m; int w[N]={0}; priority_queue<int,vector<int>,greater<int >> q; int cmp(int a,int b) { return a>b; } int main() { cin>>n>>m; for(int i=1;i<=n;i++) scanf("%d",&w[i]); // sort(w+1,w+1+n,cmp); // for(int i=1;i<=n;i++) printf("%d",w[i]); if(n<=m) { cout<<w[1]; return 0; } for(int i=1;i<=m;i++) { q.push(w[i]); // cout<<w[i]<<" "; } for(int i=m+1;i<=n;i++)//dfasdf { int t=q.top(); // cout<<q.top()<<" "; // if(i<=m) t+=w[i+m]; // else t+=w[i]; q.pop(); q.push(t); // cout<<"t:"<<t<<" "; } while(q.size()-1) q.pop(); // cout<<q.top()<<" ", cout<<q.top(); return 0; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」