链接: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;}



京公网安备 11010502036488号