列表

详情


NC25574. Math Problem

描述

已知整数除192的余数是1。求区间[L,R]之间满足条件的a的累加和是多少?

输入描述

第一行是一个整数,表示样例的个数。
每个样例包含两个整数

输出描述

每行输出一个样例的结果。

示例1

输入:

1
1 10

输出:

1

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

C++11(clang++ 3.9) 解法, 执行用时: 33ms, 内存消耗: 476K, 提交时间: 2020-04-04 19:24:15

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int T;cin>>T;
	while(T--){
		long long int l,r,s=0;cin>>l>>r;
		while(l%192!=1)l++;
		while(r%192!=1)r--;
		cout<<(l+r)*((r-l)/192+1)/2<<endl;
	}
    return 0;
}

Python3 解法, 执行用时: 98ms, 内存消耗: 5620K, 提交时间: 2022-09-12 21:02:33

for s in [*open(0)][1:]:
    l,r = map(int, s.split())
    ll=((l-1)//192+(0 if l%192==1 else 1))*192+1
    rr=(r-1)//192*192+1
    if ll>rr:
        print(0)
    else:
        print((ll+rr)*(rr-ll+192)//192//2)

上一题