社区讨论
TLE不知为何,玄关求助!!!
P1717钓鱼参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @mj2uis60
- 此快照首次捕获于
- 2025/12/12 20:31 3 个月前
- 此快照最后确认于
- 2025/12/14 14:05 3 个月前
代码如下:
CPP#include<bits/stdc++.h>
using namespace std;
const int MAXN=50;
int n,h;
int ans,num;
struct node{
int f;
int d;
int t;
}a[MAXN];
bool operator<(node a,node b){
a.f<b.f;
}
priority_queue<node> q;
int main(){
cin.tie(0);
cout.tie(0);
cin>>n>>h;
h*=12;
for(int i=1;i<=n;i++){
cin>>a[i].f;
}
for(int i=1;i<=n;i++){
cin>>a[i].d;
}
for(int i=1;i<n;i++){
cin>>a[i].t;
}
for(int i=1;i<=n;i++){
while(!q.empty()){
q.pop();
}
num=0;
int h1=h;
for(int j=1;j<i;j++){
h1-=a[j].t;
}
for(int j=1;j<=i;j++){
q.push(a[j]);
}
while(h1>0 && q.top().f>0){
node m=q.top();
num+=m.f;
q.pop();
m.f-=m.d;
q.push(m);
h1--;
}
ans=max(ans,num);
}
cout<<ans<<endl;
return 0;
}
感谢大佬!!!
回复
共 0 条回复,欢迎继续交流。
正在加载回复...