蒟蒻求助 贪心+堆 点2 4 5WA, 点3TLE
  • 板块P1717 钓鱼
  • 楼主xufanyu
  • 当前回复2
  • 已保存回复2
  • 发布时间2021/7/16 20:22
  • 上次更新2023/11/4 14:33:37
查看原帖
蒟蒻求助 贪心+堆 点2 4 5WA, 点3TLE
361478
xufanyu楼主2021/7/16 20:22
#include<bits/stdc++.h>
using namespace std;
int n,h,hhh,hh,f[30],d[30],t[30],sum,ans;
struct node{
	int a,num;
	bool operator <(node x)const{
        return num<x.num;
    }
};
priority_queue<node> q;
int main()
{
	
	scanf("%d%d",&n,&hh);
	h=hh*60;
	for(int i=1;i<=n;i++) scanf("%d",&f[i]);
	for(int i=1;i<=n;i++) scanf("%d",&d[i]);
	for(int i=2;i<=n;i++) scanf("%d",&t[i]);
	for(int i=1;i<=n;i++){
		h-=t[i]*5;
		sum=0;
		while(!q.empty()) q.pop();
		for(int j=1;j<=i;j++){
			node u;
			u.a=i;u.num=f[j];
			q.push(u);
		}
		hh=h;
		for(int j=1;j<=h/5;j++)
        {
            node T=q.top();
            q.pop();
            sum=sum+T.num;
            T.num=T.num-d[T.a];
            if(T.num<0)T.num=0;
            q.push(T);
        }
		ans=max(ans,sum);
	}
	printf("%d",ans);
	return 0;
}

码风很丑,请大佬见谅

2021/7/16 20:22
加载中...