牛客假日团队赛2 A.买一送一
生活随笔
收集整理的這篇文章主要介紹了
牛客假日团队赛2 A.买一送一
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
鏈接:
https://ac.nowcoder.com/acm/contest/924/A
題意:
Farmer John在網上買干草。他發現了一筆特殊的買賣。他每買一捆大小為A(1 <= A <= 1,000,000)的干草,他就能免費獲得一捆大小為B(1 <= B < A)的干草!
然而,這筆交易是有規定的:大的一捆干草必須是高質量的,小的一捆是低質量的。FJ是個吝嗇鬼,他并不在意:隨便什么質量,只要能省錢就好。
給出一組N(1 <= N <= 10,000)捆高質量干草的大小,M(1 <= M <= 10,000)捆低質量的干草的大小,找出Farmer John最多能買多少捆干草。他能買高質量的干草而不拿免費的低質量干草,但他不能買低質量的干草(就是說,他只能通過增送來獲得)。
思路:
將兩捆草排序,從小到大買,同時判斷贈品的當前最小能不能得到,能得到就更新最小。
因為小的贈品優先給小的購買用。
代碼:
#include<bits/stdc++.h>using namespace std; const int maxn = 2e5 + 10;int a[maxn],b[maxn]; int main() {int n,m;cin>>n>>m;for(int i=0;i<n;i++)cin>>a[i];sort(a,a+n);for(int i=0;i<m;i++)cin>>b[i];sort(b,b+m);int cnt = 0;for (int i = 0;i < n;i++){if (cnt < m && b[cnt]<a[i])cnt++;}cout << n+cnt << endl;return 0; }轉載于:https://www.cnblogs.com/YDDDD/p/11037608.html
總結
以上是生活随笔為你收集整理的牛客假日团队赛2 A.买一送一的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 动态页面加载速度太慢
- 下一篇: 一个个人网站如何融资一千万