Buy One Get One Free--貪心

分析:貪心,對兩種稻草排序,然後,直接滿足條件從大到小取


Code:

#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
 
const int maxn = 10000+5;
int a[maxn], b[maxn];
int n, m;
 
int main() {
    while(~scanf("%d%d", &n, &m)) {
        for(int i = 0; i < n; i++)
            scanf("%d", &a[i]);
        for(int i = 0; i < m; i++)
            scanf("%d", &b[i]);
        sort(a, a+n);
        sort(b, b+m);
        int q = m-1;
        int ans = 0;
        for(int i = n-1; i >= 0; i--) {
            ans++;
            for(; q >= 0; q--){
                if(a[i] > b[q]) {
                    ans++;
                    q--;
                    break;
                }
            }
        }
        printf("%d\n", ans);
    }
    return 0;
}


發佈了172 篇原創文章 · 獲贊 15 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章