• hdu 2141(二分)


    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2141

    #include<iostream>
    #include<algorithm>
    #include<cstdio>
    using namespace std;
    int a[505], b[505], c[505], s[1005], ans[250005] ;
    int main(){
        int l, n, m, x, mid, low, high, i, j, t=1 ;
        bool flag ;
        while(scanf("%d%d%d", &l, &n, &m)!=EOF){
            for(i=0; i<l; i++)
                scanf("%d", &a[i]) ;
            for(i=0; i<n; i++)
                scanf("%d", &b[i]) ;
            for(i=0; i<m; i++)
                scanf("%d", &c[i]) ;
            scanf("%d", &x) ;
            for(i=0; i<x; i++)
                scanf("%d", &s[i]) ;
            for(i=0; i<l; i++)
                for(j=0; j<n; j++)
                    ans[n*i+j] = a[i] + b[j] ;
            sort(ans, ans+n*l) ;
            printf("Case %ld:\n",t) ;
            t ++ ;
            for(i=0; i<x; i++){
                flag = false ;
                for(j=0; j<m; j++){
                    low = 0 ;
                    high = l * n - 1 ;
                    while(low<=high){
                        mid = (low+high) / 2 ;
                        if(c[j]+ans[mid]==s[i]){
                            flag = true ;
                            break ;
                        }
                        else if(c[j]+ans[mid]>s[i]) high = mid - 1 ;
                        else low = mid + 1 ;
                    }
                    if(flag) break ;
                }
                if(flag)
                    printf("YES\n") ;
                else
                    printf("NO\n") ;
            }
        }
        return 0 ;
    }
  • 相关阅读:
    【Mybatis】 JdbcType 与 JavaType对应关系
    【入门知识】虚拟机化概念
    【Ubuntu 16】安装deb
    【Ubuntu 16】安装eclipse
    【刷题】HDU 4405 Aeroplane chess
    【刷题】BZOJ 3998 [TJOI2015]弦论
    【刷题】SPOJ 1812 LCS2
    【刷题】BZOJ 2882 工艺
    【刷题】UOJ #171 【WC2016】挑战NPC
    【刷题】UOJ #79 一般图最大匹配
  • 原文地址:https://www.cnblogs.com/xiaolongchase/p/2209540.html
Copyright © 2020-2023  润新知