程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> UVA 11292 - Dragon of Loowater

UVA 11292 - Dragon of Loowater

編輯:C++入門知識

 


直接貪心,從小到大排序,然後比較就ok了

 


代碼如下:


[cpp]
#include <iostream>  
#include <queue>  
#include <algorithm>  
#include <cstdio>  
#include <cstdlib>  
#include <cstring>  
#include <string>  
#include <cmath>  
using namespace std; 
 
int i,j; 
const int N=20010; 
typedef long long LL; 
 
int a[N],b[N]; 
int n,m; 
 
int main() 

    while(scanf("%d%d",&n,&m)&&(n+m)!=0) 
    { 
 
        for(i=0;i<n;i++) 
            scanf("%d",&a[i]); 
        for(i=0;i<m;i++) 
            scanf("%d",&b[i]); 
        sort(a,a+n); 
        sort(b,b+m); 
        int sum=0,cur=0; 
        for(i=0,j=0;i<n;i++) 
        { 
            while(b[j]<a[i]&&j<m) 
            { 
                j++; 
            } 
            if(j>=m) 
                break; 
            if(b[j]>=a[i]) 
            { 
                cur++; 
                sum+=b[j]; 
                j++; 
            } 
        } 
        if(cur>=n) 
            printf("%d\n",sum); 
        else 
            printf("Loowater is doomed!\n"); 
    } 
    return 0; 

 
/*
2 3
5
4
7
8
4
2 1
5
5
10
0 0
*/ 

#include <iostream>
#include <queue>
#include <algorithm>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <string>
#include <cmath>
using namespace std;

int i,j;
const int N=20010;
typedef long long LL;

int a[N],b[N];
int n,m;

int main()
{
    while(scanf("%d%d",&n,&m)&&(n+m)!=0)
    {

        for(i=0;i<n;i++)
            scanf("%d",&a[i]);
        for(i=0;i<m;i++)
            scanf("%d",&b[i]);
        sort(a,a+n);
        sort(b,b+m);
        int sum=0,cur=0;
        for(i=0,j=0;i<n;i++)
        {
            while(b[j]<a[i]&&j<m)
            {
                j++;
            }
            if(j>=m)
                break;
            if(b[j]>=a[i])
            {
                cur++;
                sum+=b[j];
                j++;
            }
        }
        if(cur>=n)
            printf("%d\n",sum);
        else
            printf("Loowater is doomed!\n");
    }
    return 0;
}

/*
2 3
5
4
7
8
4
2 1
5
5
10
0 0
*/


 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved