zoukankan      html  css  js  c++  java
  • 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 ;
    }
  • 相关阅读:
    vim 高级使用技巧第二篇
    你所不知道的Html5那些事(一)
    linux设备驱动第三篇:如何实现一个简单的字符设备驱动
    Android Metro风格的Launcher开发系列第二篇
    「BZOJ3123」[SDOI2013]森林
    【模板】左偏树
    「luogu3157」[CQOI2011]动态逆序对
    「luogu3567」[POI2014]KUR-Couriers
    【模板】二逼平衡树
    「luogu3313」[SDOI2014]旅行
  • 原文地址:https://www.cnblogs.com/xiaolongchase/p/2209540.html
Copyright © 2011-2022 走看看