CodeForces Round #180 (297B) - Fish Weight

来源:互联网 发布:网络装修公司 编辑:程序博客网 时间:2024/06/05 16:46

     由于是 0 < w1 ≤ w2 ≤ ... ≤ wk....当B中排序最后的鱼序号有大于A排序最后的鱼...那么将B的这鱼重量和A当前最大的鱼定为相等..则这两条鱼的重量相抵消 .所以如果这么做..只要A还有鱼..就能保证每次B所有的总重量都不会大于A的总重量...这么抵消下去..一旦A有条鱼的序号大于B所剩的所有鱼..那么A就可以胜利了..因为可以令小于A这条鱼的所有鱼重量无穷小...


Program:

//http://codeforces.com/contest/297/problem/B#include<iostream>#include<stdio.h>#include<string.h>#include<cmath>#include<algorithm>#include<map>#include<set>#include<queue>#define ll long long #define oo 1000000001#define MAXN 400005using namespace std;int n,m,k,a[100005],b[100005];bool judge(){       while (m && n && b[m]>=a[n]) m--,n--;       if (n && (!m || a[n]>b[m])) return true;       return false;}int main(){             int i,j;       while (~scanf("%d%d%d",&n,&m,&k))       {             for (i=1;i<=n;i++) scanf("%d",&a[i]);             sort(a+1,a+1+n);             for (i=1;i<=m;i++) scanf("%d",&b[i]);             sort(b+1,b+1+m);             if (judge()) printf("YES\n");                   else   printf("NO\n");       }       return 0;}


原创粉丝点击