2024.2.27
P10098 [ROIR 2023 Day 2] 地铁建设 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.security.PublicKey;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.Scanner;
import java.util.Set;
import javax.naming.directory.SearchControls;
public class Main {
public static void main(String[] args) throws IOException {
Scanner sc=new Scanner(System.in);
BufferedReader br1=new BufferedReader(new InputStreamReader(System.in));
PrintWriter pw1=new PrintWriter(System.out);
String[] aStrings=br1.readLine().split(" ");
aa=Integer.parseInt(aStrings[0]);
pp=Long.parseLong(aStrings[1]);
int a;
for(a=0;a<aa;a++) {
String[] bStrings=br1.readLine().split(" ");
bb[a][0]=Long.parseLong(bStrings[0]);
bb[a][1]=Long.parseLong(bStrings[1]);
bb[a][2]=Long.parseLong(bStrings[2]);
}
long left=0;
long right=pp;
long answer=0;
while(left<=right) {
long mid=(left+right)>>>1;
if(check(mid)==1) {
answer=mid;
right=mid-1;
}
else {
left=mid+1;
}
}
System.out.println(answer);
}
public static int aa;
public static long pp;
public static long[][] bb=new long[300][3];
public static int check(long a) {
int b;
long c=0;
for(b=0;b<aa;b++) {
if(a<=bb[b][0]) {
c=c+a*bb[b][1];
}
else {
c=c+bb[b][1]*bb[b][0]+(a-bb[b][0])*bb[b][2];
}
if(c>=pp) {
return 1;
}
}
return 0;
}
}