zoukankan      html  css  js  c++  java
  • 20181027牛客B 供给和需求

    二分。没什么好说的。就在绝望的时刻,突然AC了。

    #include<iostream>
    #include<cstdio>
    #include<cmath>
    using namespace std;
    long long a[100001],b[100001],c[100001];
    long long xam(long long a, long long b){//max
    	if(a>=b) return a;
    	else return b;
    }
    long long nim(long long a, long long b){//min
    	if(a>=b) return b;
    	else return a;
    }
    int main()
    {
    	long long n,m;
    	scanf("%lld%lld",&n,&m);
    	for(long long i=1;i<=n;i++) scanf("%lld%lld",&a[i],&b[i]);
    	for(long  i=1;i<=m;i++) scanf("%lld",&c[i]);
    	long long l=0,r=100000,mid,ans=2147483648;
    	while(l<r){
    		mid=(l+r)/2+1;
    		long long gj=0,xq=0;
    		for(int i=1;i<=n;i++) gj+=xam(0,a[i]-b[i]*mid);
    		for(int i=1;i<=m;i++) xq+=c[i]*mid;
    		ans=nim(ans,abs(gj-xq));
    		if(gj<xq) r=mid-1;
    		else l=mid;
    	}
    	printf("%lld",ans);
    	return 0;
    } 
    

      

  • 相关阅读:
    Rocket
    Rocket
    Rocket
    Rocket
    POJ 1849 树的直径 Two
    SGU 495 Kids and Prizes
    HDU 4336 概率DP 状压
    HDU 4089 && UVa 1498 Activation 带环的概率DP
    SGU 149 树形DP Computer Network
    暑假集训刷题记录
  • 原文地址:https://www.cnblogs.com/dong-ji-yuan/p/9862076.html
Copyright © 2011-2022 走看看