精品偷拍一区二区三区,亚洲精品永久 码,亚洲综合日韩精品欧美国产,亚洲国产日韩a在线亚洲

  • <center id="usuqs"></center>
  • 
    
  • 輸入包含多組數(shù)據(jù).

    輸入包含多組數(shù)據(jù).
    每組數(shù)據(jù)的第一行是兩個(gè)正整數(shù)n和m,1≤n≤10000,1≤m≤1000000,表示一共有n位人,N手上有m塊積木.以下有n行,每行有兩個(gè)正整數(shù),a和b,1≤a,b≤10^9,表示第i個(gè)人手上有a塊積木,還需要b塊積木才能夠砌完.若每個(gè)人都能拼完則輸出yes否則no
    輸入n=0時(shí)表示結(jié)束.
    #include
    int main()
    {
    long long int n,m,a[10000],b[10000];
    int t,k;
    while((scanf("%lld",&n))
    { scanf("%lld",&m)
    for(int i=0;i
    其他人氣:458 ℃時(shí)間:2020-09-29 20:45:43
    優(yōu)質(zhì)解答
    看題后可知是簡(jiǎn)單貪心即可(將孩子按各自的需要從小到大排序),排序要用快速排序哈,否則會(huì)超時(shí).
    代碼:
    #include
    #include
    using namespace std;
    const int maxn = 10000 + 10;
    struct node
    {
    int a;
    int b;
    bool operator < (const node& e) const
    {
    return b < e.b || (b == e.b && a > e.a);
    }
    }x[maxn];
    int main()
    {
    int n,s;
    while(~scanf("%d",&n))
    {
    if(!n) return 0;
    scanf("%d",&s);
    for(int i = 0; i < n; i++) scanf("%d%d",&x[i].a,&x[i].b);
    sort(x,x+n);
    bool ok = 1;
    for(int i = 0; i < n; i++)
    if(s < x[i].b)
    {
    ok = 0;
    break;
    }
    else s += x[i].a;
    if(ok) printf("YES\n");
    else printf("NO\n");
    }
    return 0;
    }
    我來(lái)回答
    類似推薦
    請(qǐng)使用1024x768 IE6.0或更高版本瀏覽器瀏覽本站點(diǎn),以保證最佳閱讀效果。本頁(yè)提供作業(yè)小助手,一起搜作業(yè)以及作業(yè)好幫手最新版!
    版權(quán)所有 CopyRight © 2012-2024 作業(yè)小助手 All Rights Reserved. 手機(jī)版