62,614
社区成员
发帖
与我相关
我的任务
分享
RangeMap<Integer, Integer> map = TreeRangeMap.create();
Scanner in = new Scanner(System.in);
int n = Ints.tryParse(in.nextLine());
for (int i = 0; i < n; i++) {
String[] s = in.nextLine().split(" ");
map.put(Range.closedOpen(Ints.tryParse(s[0]), Ints.tryParse(s[1])),
Ints.tryParse(s[2]));
}
String[] s = in.nextLine().split(" ");
map = map.subRangeMap(Range.closedOpen(Ints.tryParse(s[0]),
Ints.tryParse(s[1])));
double z = 0;
for (Map.Entry<Range<Integer>, Integer> entry : map.asMapOfRanges()
.entrySet()) {
z += (double) (entry.getKey().upperEndpoint() - entry.getKey()
.lowerEndpoint()) / entry.getValue();
}
System.out.println(String.format("%.2f", z));