【发布时间】:2021-05-07 01:06:18
【问题描述】:
我一直在尝试解决这个问题,它适用于小数字,但不适用于 Hacker Earth 中的大 10^9 数字
给定一个包含 n 个数字和 q 个查询的数组。对于每个查询,您必须打印从 L 到 R 的子数组的期望值(均值)的下限。
输入:
第一行包含两个整数 N 和 Q,分别表示数组元素的数量和查询的数量。
下一行包含 N 个空格分隔的整数,表示数组元素。
接下来的 Q 行包含两个整数 L 和 R(数组的索引)。
输出:
打印一个表示答案的整数。
约束:
1
1
注意
使用快速 I/O
using namespace std;
long int solvepb(int a, int b, long int *arr,int n){
int result, count = 0;
vector<long int>res;
for(int i=0;i<n;i++){
if(i+1 >= a && i+1 <=b){
res.push_back(arr[i]);
count += arr[i];
}
}
result = count / res.size();
return result;
}
int main(){
int n,q;cin>>n>>q;
long int arr[n];
for(int i=0;i<n;i++){
cin>>arr[i];
}
while(q--){
int a,b;
cin>>a>>b;
cout<<solvepb(a,b,arr,n)<<endl;
}
return 0;
}```
【问题讨论】:
标签: arrays time-complexity sub-array