acm 为什么老是time limit exceed现在先给你一个简单的问题:n个整数a(1),a(2),a(3)…a(n); 每个询问给你两个数:i,j 要求你算出a(i) + a(i+1)…+a(j)的和.Input第一行一个整数 T,代表T组数据.每组数据第一

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/02 11:00:21
acm 为什么老是time limit exceed现在先给你一个简单的问题:n个整数a(1),a(2),a(3)…a(n); 每个询问给你两个数:i,j 要求你算出a(i) + a(i+1)…+a(j)的和.Input第一行一个整数 T,代表T组数据.每组数据第一

acm 为什么老是time limit exceed现在先给你一个简单的问题:n个整数a(1),a(2),a(3)…a(n); 每个询问给你两个数:i,j 要求你算出a(i) + a(i+1)…+a(j)的和.Input第一行一个整数 T,代表T组数据.每组数据第一
acm 为什么老是time limit exceed
现在先给你一个简单的问题:
n个整数a(1),a(2),a(3)…a(n);
每个询问给你两个数:i,j 要求你算出a(i) + a(i+1)…+a(j)的和.
Input
第一行一个整数 T,代表T组数据.
每组数据第一行是一个整数n(1

acm 为什么老是time limit exceed现在先给你一个简单的问题:n个整数a(1),a(2),a(3)…a(n); 每个询问给你两个数:i,j 要求你算出a(i) + a(i+1)…+a(j)的和.Input第一行一个整数 T,代表T组数据.每组数据第一
比如说q=200000,每次查询的i, j都是1,10000,那么你的程序的循环次数为200000*10000次,当然超时了.但是如果你用一个数组sum保存数列的前n项和的话,每次查询只需要计算
sum[j]-sum[i-1]就可以了,这样做才不会超时.