首页 > 其他分享 >D - Souvenirs

D - Souvenirs

时间:2024-06-17 13:32:40浏览次数:22  
标签:end int Souvenirs 数组 abc358 contests

D - Souvenirs

https://atcoder.jp/contests/abc358/tasks/abc358_d

 

思路

贪心算法。

把a数组和b数组从小到大排序。

遍历b数组的每一个元素bi, 在a数组中找到第一个大于等于bi元素,累加值。

 

Code

https://atcoder.jp/contests/abc358/submissions/54656383

#define int long long

int n, m;
vector<int> a, b;

signed main()
{
    cin >> n >> m;
    
    a.resize(n);
    b.resize(m);

    for(int i=0; i<n; i++){
        cin >> a[i];
    }

    for(int i=0; i<m; i++){
        cin >> b[i];
    }

    // candidates
    sort(a.begin(), a.end());
    
    // customers
    sort(b.begin(), b.end());

    int ans = 0;
    int a_start = 0;
    for(int i=0; i<m; i++){
        int a_target = lower_bound(a.begin()+a_start, a.end(), b[i]) - a.begin();
        
        if (a_target == n){
            cout << -1 << endl;
            return 0;
        }
        
        ans += a[a_target];
        
        a_start = a_target + 1;
    }

    cout << ans << endl;

    return 0;
}

 

标签:end,int,Souvenirs,数组,abc358,contests
From: https://www.cnblogs.com/lightsong/p/18252202

相关文章

  • CF765F Souvenirs 题解
    题目链接:CF或者洛谷想了很久,然后想起做过的一道题:秃子酋长,一开始以为差不多,结果写着写着就发现不对劲了。最后写出了个神仙回滚莫队解法,感觉很妙,记录下。进入神仙分析时刻首先,我们来考虑一个事实,加上一个数以后,如果能找到它的前后驱,那么可以立马更新最优解,这个也即是瓶颈点。......
  • CF765F. Souvenirs
    压位trie好厉害。显然加一个数很好维护,删一个数有点不好做,考虑回滚莫队。用平衡树维护数的集合,每次插入之前用前驱/后继与插入数的差更新一下答案,可以\(O(n\sqrt{n}\logn)\),会Timelimitexceededontest7or8。看上去我们已经优化到极限了,怎么办呢?显然莫队的\(n\sqrt{......
  • 洛谷P9035 Pont des souvenirs 题解
    题面很简洁,这里不做多说。70pts做法首先考虑到\(a_{n-1}\)和\(a_n\)两项是整个数列\(a\)中的最大的两项,所以若\(a_{n-1}+a_n\)不超过\(k+1\),则数列中任意两项......
  • CF765F Souvenirs 题解
    Preface在会压位Trie的前提下,本题最好想的做法应该是压位Trie+回滚莫队,可是竟然没人写这个做法的题解?Solution我们先转化题意:设\(a_i\)在\([l,r]\)中的前驱后继......
  • 【题解】CF808E Selling Souvenirs
    题意多重背包,但数据范围很大并且体积小于等于三。思路乱搞。很自然地考虑将物品按照体积分成三类。显然对于同一类的物品从最大开始取最优,那么有一个贪心的想法。直......
  • Souvenirs
    Souvenirs题目大意给出\(n\)以及一个长为\(n\)的序列\(a\)。给出\(m\),接下来\(m\)组询问。每组询问给出一个\(l,r\),你需要求出,对于\(i,j\in[l,r]\),且满足......
  • E. Selling Souvenirs 不会做
    ​​http://codeforces.com/contest/808/problem/E​​不理解为什么dp={cost,cnt1,cnt2}可以而dp={cost,cnt1,cnt2,cnt3}不可以上面那个不可以的例子是:  但是这......