抑郁症健康,内容丰富有趣,生活中的好帮手!
抑郁症健康 > 【例题5】智力大冲浪

【例题5】智力大冲浪

时间:2022-12-24 23:30:47

相关推荐

一本通链接在此依旧是一本通蓝书模板题这道题还是很好想的,具体如下:先把所有任务按照罚款金额排序(大的在前),然后从头开始处理。每个任务应该安排在最靠后的能完成的时段,当然,一定会有完成不了的,在这个时候就直接减去罚款即可。

代码

#include<bits/stdc++.h>using namespace std;struct cyy{int t,w;}a[510];bool cmp(cyy x,cyy y){return x.w>y.w;}int m,n,s;bool f[510],flag;int main(){scanf("%d%d",&m,&n);for(int i=1;i<=n;i++)scanf("%d",&a[i].t);for(int i=1;i<=n;i++)scanf("%d",&a[i].w);sort(a+1,a+n+1,cmp);//按照罚款从大到小排序 for(int i=1;i<=n;i++){flag=1;for(int j=a[i].t;j>=1;j--)//从截止日期开始循环,寻找空闲时间 if(!f[j]){f[j]=1,flag=0;break;}if(flag)//前面排满了,要罚款 m-=a[i].w;}printf("%d\n",m);return 0;}

如果觉得《【例题5】智力大冲浪》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。