求助!不加第二个sort就会出错
查看原帖
求助!不加第二个sort就会出错
396170
a527026431楼主2020/12/9 19:46

自己写lower_bound也能过,用STL的lower_bound不知道为什么第一个元素大于等于(题目数据的4)会被忽略,求大佬TAT

#include <iostream>
#include <algorithm>
using namespace std;
const int N = 20005;
int tou[N], money[N];
int main()
{
    int n, m;
    int sum = 0;
    cin >> n >> m;
    for (int i = 0; i < n; i++)
    {
        cin >> tou[i];
    }
    for (int i = 0; i < m; i++)
    {
        cin >> money[i];
    }
    sort(money, money + m);
    //sort(tou, tou + n);  //不写这个就会出错!
    for (int i = 0; i < n; i++)
    {
        int pos = lower_bound(money, money + m, tou[i]) - money;
        if (money[pos] < tou[i])
        {
            cout << "you died!" << endl;
            return 0;
        }
        sum += money[pos];
        money[pos] = 0;
        // sort(money, money + m, less<int>());
    }
    cout << sum << endl;
    return 0;
}
2020/12/9 19:46
加载中...