import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.io.StreamTokenizer;
public class Main {
static long[]arr=new long[1414215];
static long[]sum=new long[1414215];//前缀和
public static void main(String[] args) throws IOException {
for (int i = 1; i < 1414215; ++i) {
arr[i]=i+arr[i-1];
sum[i]=arr[i]+sum[i-1];
}
long t=inl();
while (t-->0){
long l=inl();
long r=inl();
out.println(method(r)-method(l-1));
}
out.close();
}
private static long method(long num){
int l=0;
int r=1414214;
while (l<r){
int mid=(l+r+1)/2;
if (arr[mid]<=num){
l=mid;
}else {
r=mid-1;
}
}
long j=num-arr[l];
return sum[l]+arr[(int)j];
}
static StreamTokenizer in=new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));
static PrintWriter out=new PrintWriter(new BufferedOutputStream(System.out));
static long inl() throws IOException {
in.nextToken();
return (long) in.nval;
}
}
2021年蓝桥杯第十二届国赛真题 123(Java)
最新推荐文章于 2024-09-05 10:39:00 发布