zoukankan      html  css  js  c++  java
  • 2020 CCPC Wannafly Winter Camp Day1F 乘法(二分)

    暴力二分答案即可获得正解,注意边界问题

    #include<bits/stdc++.h>
    using namespace std;
    typedef long long ll;
    typedef pair<ll,int> pll;
    const int N=1e6+10;
    ll n,m,k;
    ll a[N],b[N];
    bool check(ll x){
        ll cnt=0;
        int i;
        for(i=1;i<=m;i++){
            if(b[i]==0)
                cnt+=(x<0)?n:0;
            if (b[i]<0)
                cnt+=lower_bound(a+1, a+n+1, ceil((double)x / b[i]))-(a + 1);
            if (b[i]>0)
                cnt+=n-((upper_bound(a+1, a + n + 1, floor((double)x/b[i])))-(a+1));
        }
        return cnt<=k;
    }
    int main(){
        ios::sync_with_stdio(false);
        cin>>n>>m>>k;
        int i,j;
        k--;
        for(i=1;i<=n;i++)
            cin>>a[i];
        for(i=1;i<=m;i++)
            cin>>b[i];
        sort(a+1,a+1+n);
        sort(b+1,b+1+m);
        ll l=-1e13,r=1e13;
        while(l<r){
            ll mid=l+r>>1;
            if(check(mid))
                r=mid;
            else
                l=mid+1;
        }
        cout<<l<<endl;
        return 0;
    }
    View Code
    没有人不辛苦,只有人不喊疼
  • 相关阅读:
    MVC 学习(二)之Linq to Sql 简单Demo
    MVC 学习(一)Linq to Entities 简单Demo
    MVC学习(三)Code-First Demo
    pickle 模块
    json 模块
    sys 模块
    os 模块
    random(随机)模块
    time 模块
    python之函数基础
  • 原文地址:https://www.cnblogs.com/ctyakwf/p/14010180.html
Copyright © 2011-2022 走看看