#19682: 0.8秒的AC......


darrensu1016@gmail.com (堅持只用c語言)


#include <stdio.h>
int main()
{
int a[1000000];
int b;
int c;
int d;
int e;
int f;
int i;
int g;
while(scanf("%d",&b)!=EOF){
scanf("%d",&c);
for(i=0;i<b;i++){
scanf("%d",&a[i]);
}
for(i=0;i<c;i++){
scanf("%d",&d);
scanf("%d",&e);
for(g=d-1;g<e;g++){
f=f+a[g];
}
printf("%d\n",f);
f=0;
}
}
}

 

#19685: Re:0.8秒的AC......


asnewchien@gmail.com (david)


 

0.8 s 是上來求助嗎?


#21770: Re:0.8秒的AC......


IamFromEarth (啟聰的enter鍵)


#include
int main()
{
int a[1000000];
int b;
int c;
int d;
int e;
int f;
int i;
int g;
while(scanf("%d",&b)!=EOF){
scanf("%d",&c);
for(i=0;i<b;i++){
scanf("%d",&a[i]);
}
for(i=0;i<c;i++){
scanf("%d",&d);
scanf("%d",&e);
for(g=d-1;g<e;g++){
f=f+a[g];
}
printf("%d\n",f);
f=0;
}
}
}

 

0.5s:

#include <iostream>

using namespace std;

 

int main()

{

    int n, m, start, end, temp;

    while (cin >> n >> m)

    {

        int *saturation=new int[n]{};

        for (int i=0; i<n; i++)

        {

            cin >> temp;

            saturation[i]+=temp+(i?saturation[i-1]:0);

        }

        

        for (int i=0; i<m; i++)

        {

            cin >> start >> end;

            cout << saturation[end-1]-(start-2<0?0:saturation[start-2]) << endl;

        }

        delete[] saturation;

    }

 

}



#21788: Re:0.8秒的AC......


IanWang20061204 (詭譎)


#include
int main()
{
int a[1000000];
int b;
int c;
int d;
int e;
int f;
int i;
int g;
while(scanf("%d",&b)!=EOF){
scanf("%d",&c);
for(i=0;i<b;i++){
scanf("%d",&a[i]);
}
for(i=0;i<c;i++){
scanf("%d",&d);
scanf("%d",&e);
for(g=d-1;g<e;g++){
f=f+a[g];
}
printf("%d\n",f);
f=0;
}
}
}

 

0.5s:

#include

using namespace std;

 

int main()

{

    int n, m, start, end, temp;

    while (cin >> n >> m)

    {

        int *saturation=new int[n]{};

        for (int i=0; i<n; i++)

        {

            cin >> temp;

            saturation[i]+=temp+(i?saturation[i-1]:0);

        }

        

        for (int i=0; i<m; i++)

        {

            cin >> start >> end;

            cout << saturation[end-1]-(start-2<0?0:saturation[start-2]) << endl;

        }

        delete[] saturation;

    }

 

}



 

你們寫的好複雜喔

其實就建表(我們就當是一個a陣列)就好了

然後再輸出a[r]-a[l-1]
這樣就可以再0.1s內

再加getchar和putchar就可以上榜了