码迷,mamicode.com
首页 > 其他好文 > 详细

[Luogu P1230]智力大冲浪

时间:2019-05-04 11:37:21      阅读:119      评论:0      收藏:0      [点我收藏+]

标签:targe   sort   ring   str   一个   div   ace   print   turn   

题目链接

这道题,贪就对了。

先按照价值排序,从大到小。当前考虑的的就先放到尽可能晚的时间点,为其他的创造机会,如果这一个的所有可用时间段都被占据,就只能扣钱了。

#include<fstream>
#include<cmath>
#include<iostream>
#include<cstdio>
#include<cstring>
#include <algorithm>
using namespace std;
bool use[1000],dhs;
int m,n;
struct f{
    int qx,fk;
}g[1000];
bool cmp(f a,f b){
    return a.fk>b.fk;
}
int main(){
cin>>m>>n;
for(int i=1;i<=n;i++){
    scanf("%d",&g[i].qx);
}
for(int i=1;i<=n;i++){
    scanf("%d",&g[i].fk);
}
sort(g+1,g+n+1,cmp);
for(int i=1;i<=n;i++){
    if(use[g[i].qx]==0){
        use[g[i].qx]=1;
    }
    else{
        int bj=0;
        for(int j=g[i].qx-1;j>=1;j--){
            if(use[j]==0){
                use[j]=1;
                bj=1;
                break;
            }
        }
        if(bj==0){
            m-=g[i].fk;
        }
    }
}
printf("%d",m);
return 0;
}

 

[Luogu P1230]智力大冲浪

标签:targe   sort   ring   str   一个   div   ace   print   turn   

原文地址:https://www.cnblogs.com/clockwhite/p/10807715.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!