1 #include<iostream> 2 using namespace std; 3 int t,n,m; 4 int a[100001][2],b[100001][2]; 5 int ans; 6 int main () 7 { 8 cin>>t>>n; 9 for (int i=1;i<=n;i++) 10 cin>>a[i][0]>>a[i][1]; 11 cin>>m; 12 for (int i=1;i<=m;i++) 13 cin>>b[i][0]>>b[i][1]; 14 int l=1,r=t,mid; 15 while (l<=r) 16 { 17 mid=(l+r)/2; 18 int s1=0,s2=0,t1=mid,t2=t-mid; 19 for (int i=1;i<=n;i++) 20 { 21 if (t1>=a[i][0]) 22 s1+=1+(t1-a[i][0])/a[i][1]; 23 } 24 for (int i=1;i<=m;i++) 25 { 26 if (t2>=b[i][0]) 27 s2+=1+(t2-b[i][0])/b[i][1]; 28 } 29 if (s1<=s2) 30 { 31 ans=mid; 32 l=mid+1; 33 } 34 else r=mid-1; 35 } 36 cout<<ans; 37 }
原文:https://www.cnblogs.com/zjzjzj/p/11100040.html