1 solutions

  • 0
    @ 2024-12-11 0:33:47

    C :

    #include<stdio.h>
    
    #define MAXN 1110100UL
    #define INF 0x7fffffff 
    #define max(a,b) a>b?a:b
    #define min(a,b) a<b?a:b
    
    long long int ave,ans,ANS;
    long long int sum,n,l=INF ;
    long long int r,mid,v[MAXN],now[MAXN],w[MAXN];
    
    int check(int mid){
    	for(int i=1;i<n;++i){
    		if(w[i]<mid)
    			w[i+1]=w[i+1]+w[i]-mid+v[i]-v[i+1];
    		if(w[i]>mid&&w[i]-mid-v[i+1]+v[i]>0)
    		    w[i+1]=w[i+1]+w[i]-mid-v[i+1]+v[i];
    	}
    	if(w[n]>=mid)
    		return 1;
    	return 0;
    }
    
    int main(){
    #ifndef MAXN
    	freopen("fish.in","r",stdin);
    	freopen("fish.out","w",stdout);
    #endif	
    	scanf("%d",&n);
    	for(int i=1;i<=n;++i){
    		scanf("%d%d",&v[i],&w[i]);
    		now[i]=w[i],sum+=w[i];
    		l=min(l,w[i]);
    	}r=sum+1;
    	while(l<=r){
    		mid=(l+r)>>1;
    		for(int i=1;i<=n;++i)
    		    w[i]=now[i];
    		if(check(mid))
    			ans=mid,l=mid+1;
    		else
    		    r=mid-1;
    	}printf("%d",ans);
    	return 0;
    }
    

    C++ :

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #define Maxn 100010
    #define int64 long long
    using namespace std;
    int64 N,a[Maxn]={0},b[Maxn]={0},c[Maxn]={0}; 
    void init(){
    	cin>>N;
    	for(int i=1;i<=N;i++){
    		scanf("%d%d",&a[i],&b[i]);
    	}
    	a[N+1]=a[N];
    }
    bool ok(int64 mid){
    	int64 now=0;
    	for(int i=1;i<=N+1;i++) c[i]=b[i];
    	for(int i=1;i<=N;i++){
    		if(i>1) now-=a[i]-a[i-1];
    		if(now<0) now=0;		
    		now+=c[i];
    		if(now<mid){
    			if(i<N){
    				c[i+1]-=mid-now+a[i+1]-a[i];
    				now=mid;
    			}
    			else return false;
    		}
    		now-=mid;
    	}
    	return true;
    }
    void work(){
    	int64 l=1,r=1000000000;
    	while(l<=r){
    		int64 mid=(l+r)>>1;
    		if(ok(mid)) l=mid+1;
    		else r=mid-1;
    	}
    	cout<<r<<endl;
    }
    int main(){
    	init();
    	work();
    	return 0;
    }
    
    
    • 1

    Information

    ID
    717
    Time
    1000ms
    Memory
    128MiB
    Difficulty
    (None)
    Tags
    # Submissions
    0
    Accepted
    0
    Uploaded By