链接:https://ac.nowcoder.com/acm/contest/5881/A
来源:牛客网
犇犇是一只贪玩的牛。他最喜欢的游戏是夹娃娃。已知有 n 个娃娃排成一排,犇犇可以控制夹子的位置和夹子的宽度。每个娃娃的价值为整数 w[i],犇犇想知道,他夹起的l 到r 个娃娃的总价值是多少
这是一个普通的前缀问题,看到后别提多兴奋,终于会写一题了,就是设一个数组b[i]计算a[i]前面的总和sum;
把每次需要遍历改成只要数组一头尾相减。
大佬们都喜欢用c++;我有时候看懂了却操作不来了,我想试试写c的解题;
#include <stdio.h> int main() { int n,k; scanf("%d%d",&n,&k); int a[n]; int i,b[n],sum=0; int x,y,ant; for(i=0;i<n;i++) { scanf("%d",&a[i]); } for(i=0;i<n;i++) { sum+=a[i]; b[i]=sum; } while(k--) { scanf("%d%d",&x,&y); ant=b[y-1]-b[x-2]; printf("%d\n",ant); } return 0;
}