1000: zz老師數人數

1000: zz老師數人數

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 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;
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章