竞赛
考级
SanM-gg ด้้้้้็้
利用数组解题 #include <bits/stdc++.h> using namespace std; int a[10000005]; int main(){ int n,m,x,y; cin>>n>>m; for(int i=1;i<=n;i++) cin>>a[i]; for(int i=1;i<=m;i++){ cin>>x>>y; int sum=0; for(int j=x;j<=y;j++) sum+=a[j]; cout<<sum<<endl; } return 0; }
Starsfocxy
这道题挺简单的,直接上代码
bits/stdc++.h
这道题其实很简单,我们可以运用暴力循环的方式,先输入n,m,a1,a2......ann, m, a_1, a_2......a_nn,m,a1 ,a2 ......an ,然后再输入a,ba, ba,b循环求和。 但是,我们为了提高效率,可以运用前缀和前缀和前缀和的概念 一边输入,一边运用前缀和数组,累加前nnn项 输入aaa和bbb是用sum[b]−sum[a−1]sum[b] - sum[a - 1]sum[b]−sum[a−1]就好啦
陈子翀
#include<iostream> using namespace std; int a[1000005]; int main(){ int n , m; cin >> n >> m; for(int i = 1;i <= n;i++){ int x; cin >> x; a[i] = x + a[i-1]; } for(int i = 1;i <= m;i++){ int x , y; cin >> x >> y; cout << a[y] - a[x-1] << endl; } return 0; }
DARK SPECTRE
cos
暴力for循环累加,如果数据稍微大一点,就会超时,AC代码⬇ 前缀和写法,数据大不会超时,AC代码⬇
我是自愿上学的
这道题很简单,注意范围就行
荷取青
法兰西玫瑰
复仇者_THUNDER
据说是某位老师流传下来的
༺ཌༀTN黑客ༀད༻
潜龙暗虎
6.
yy
金典区间和
zhouty
正在减肥的吃货
法西斯玫瑰
majmDZB
手持剑,刺锋芒
#include<bits/stdc++.h> using namespace std; int main(){ int n,m,k[100005],a,b; cin >> n >> m; for(int i=1;i<=n;i++){ cin >> k[i]; } for(int i=0;i<m;i++){ cin >> a >> b; long s=0; for(int j=a;j<=b;j++){ s+=k[j]; } cout << s << endl; } }
对方正在输入...
共24条