zoukankan      html  css  js  c++  java
  • P1083 借教室

    Miku

    很简单的二分

    #include<iostream>
    #include<cstdio>
    #include<algorithm>
    #include<cstring>
    using namespace std;
    long long n,m;
    long long r[1000001];
    long long d[1000001];
    long long cha[1000001];
    long long s[1000001];
    long long t[1000001];
    long long l;
    bool check(long long x){
    //	cout<<x<<" ";
    	memset(cha,0,sizeof(cha));
    	for(long long i=1;i<=x;++i){
    		cha[s[i]]+=d[i];
    		cha[t[i]+1]-=d[i];
    	}
    	long long sum=0;
    	for(long long i=1;i<=n;++i){
    		
    		sum+=cha[i];
    //		cout<<sum<<" ";
    		if(sum>r[i])
    		return 0;
    	}
    //	cout<<endl;
    	return 1;
    }
    long long  ans=0x7fffff;
    int main(){
    	scanf("%lld%lld",&n,&m);
    	for(long long i=1;i<=n;++i){
    		scanf("%lld",&r[i]);
    	}
    	for(long long i=1;i<=m;++i){
    		scanf("%lld%lld%lld",&d[i],&s[i],&t[i]);		
    	}
    	long long r=m;
    	if(check(m)){
    	cout<<0; 
    	return 0;
    	}
    	while(l<=r){
    		long long mid=l+(r-l)/2;
    		if(check(mid)){
    			l=mid+1;
    		}else{
    		//	ans=min(ans,mid);
    			r=mid-1;
    		}
    	}
    	cout<<-1<<endl<<l;
    	return 0;
    }
    
  • 相关阅读:
    [BZOJ1584][Usaco2009 Mar]Cleaning Up 打扫卫生
    CSS浮动
    Django by example -----1总结
    C#函数重载
    linux目录的特点
    Linux调优
    linux
    对齐方式
    19-10-25-G-悲伤
    19-10-24-H
  • 原文地址:https://www.cnblogs.com/For-Miku/p/13764013.html
Copyright © 2011-2022 走看看