题解p1230 智力大冲浪

Posted lovezxy520

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了题解p1230 智力大冲浪相关的知识,希望对你有一定的参考价值。

总结:

1.因为完成游戏的时间都是1分钟,所以不用考虑时间不同而带来的影响,这就是不用贪心的原因,所以可以用贪心

2.从每个游戏的最晚时间向前循环,是为了尽可能让后面游戏完成。

#include<bits/stdc++.h>
using namespace std;
int n, m, vis[505], sum;
struct node
    int t, mon, flag;
a[505];

bool cmp(node x, node y)

    return x.mon > y.mon;


int main()

    cin >> m >> n;
    for(int i = 1; i <= n; i++)
        cin >> a[i].t;
    for(int i = 1; i <= n; i++)
        cin >> a[i].mon;
    sort(a+1, a+1+n, cmp);
    for(int i = 1; i <= n; i++)
    
        for(int j = a[i].t; j >= 1; j--)
        
            if(vis[j] == 0)
            
                vis[j] = 1;
                a[i].flag = 1;
                break;
            
        
    
    for(int i = 1; i <= n; i++)
        if(!a[i].flag)    sum += a[i].mon;
    cout << m-sum;
    return 0;
 

 

以上是关于题解p1230 智力大冲浪的主要内容,如果未能解决你的问题,请参考以下文章

洛谷 P1230 智力大冲浪

洛谷 P1230 智力大冲浪

P1230 智力大冲浪

智力大冲浪(洛谷P1230)

P1230 智力大冲浪(洛谷)

洛谷P1230 智力大冲浪