1000: zz老師數人數
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 158 Solved: 34
[Submit][Status][Web Board]
Description
zz老師在整頓他們班的隊形,他想知道從第一列到第n列一共有多少學生。
Input
第一行有個整數T(1 <= T <= 30),代表數據組數。
對於每組數據:
第一行包含一個整數m(1 <= m <= 200000)
第二行包含m個整數numi(1 <= numi <= 1000000000),表示第i列的學生數量
第三行包含一個整數n(1 <= n <= 200000)表示詢問的次數
第四行包含n個整數sumi(1 <= sumi <= m)
Output
對每個sumi,輸出從第一列到第n列總共的學生數量。
Sample Input
1
5
1 2 3 4 5
5
1 2 3 4 5
Sample Output
1 3 6 10 15
#include "stdio.h"
#include "stdlib.h"
int main(){
//freopen("/Users/qigelaodadehongxiaodi/Desktop/data1.txt", "r", stdin);
//這個不理,是用來方便輸入輸出的東西,利用文本輸入流來讀取數據
//提交代碼的時候記得註銷這條語句
long long m,n,t;
long long queue[200005][2],ask[200005];//注意改爲long long
scanf("%lld",&t);
while(t>0){
scanf("%lld",&m);
for(long long i=0;i<m;i++){
scanf("%lld",&queue[i][0]);
if(i!=0){
queue[i][1]=queue[i-1][1]+queue[i][0];}
else{
queue[i][1]=queue[i][0];
}
//表示第一列到這個列一共有多少個學生
}
scanf("%lld",&n);//詢問n次,即表示要輸出n個數據
for(long long i=0;i<n;i++){
scanf("%lld",&ask[i]);
printf("%lld",queue[ask[i]-1][1]);
if(i!=n-1)
printf(" ");
}
if(t!=1)
printf("\n");
t--;
}
return 0;
}