#18441: _TLE


gngn15401@gmail.com (冰箱)


<1>

#include <iostream>
using namespace std;
int main(){
int n,m;
while (cin >>n >>m && n!=EOF && m!=EOF){
int a[n],b[n]={0};
for (int i=0;i<n;i++){
cin >>a[i];
for (int j=0;j<=i;j++){
b[i]+=a[j];
}
}
for (int i=0;i<m;i++){
int l,r,total;
cin >>l >>r;
if (l==1){
cout <<b[r-1] <<endl;
}else{
total=b[r-1]-b[l-2];
cout <<total <<endl;
}
}
}
return 0;
}

<2>

#include <iostream>
using namespace std;
int main(){
int n,m;
while (cin >>n >>m && n!=EOF && m!=EOF){
int a[n];
for (int i=0;i<n;i++){
cin >>a[i];
}
for (int i=0;i<m;i++){
int l,r,total=0;
cin >>l >>r;
for (l;l<=r;l++){
total+=a[l-1];
}
cout <<total <<endl;
}
}
return 0;
}

 

寫了兩種都TLE請問有哪一步可以再更精簡的嗎

#18443: Re:TLE


rexwu1104@gmail.com (黑雪公主 Black Lotus)


 

#include
using namespace std;
int main(){
int n,m;
while (cin >>n >>m && n!=EOF && m!=EOF){
int a[n],b[n]={0};
for (int i=0;i<n;i++){
cin >>a[i];
for (int j=0;j<=i;j++){
b[i]+=a[j];
}
}
for (int i=0;i<m;i++){
int l,r,total;
cin >>l >>r;
if (l==1){
cout <<b[r-1] <<endl;
}else{
total=b[r-1]-b[l-2];
cout < }
}
}
return 0;
}

 

#include
using namespace std;
int main(){
int n,m;
while (cin >>n >>m && n!=EOF && m!=EOF){
int a[n];
for (int i=0;i<n;i++){
cin >>a[i];
}
for (int i=0;i<m;i++){
int l,r,total=0;
cin >>l >>r;
for (l;l<=r;l++){
total+=a[l-1];
}
cout < }
}
return 0;
}

 

寫了兩種都TLE請問有哪一步可以再更精簡的嗎

I/O優化


#18459: Re:TLE


gngn15401@gmail.com (冰箱)


 

#include
using namespace std;
int main(){
int n,m;
while (cin >>n >>m && n!=EOF && m!=EOF){
int a[n],b[n]={0};
for (int i=0;i<n;i++){
cin >>a[i];
for (int j=0;j<=i;j++){
b[i]+=a[j];
}
}
for (int i=0;i<m;i++){
int l,r,total;
cin >>l >>r;
if (l==1){
cout <<b[r-1] <<endl;
}else{
total=b[r-1]-b[l-2];
cout < }
}
}
return 0;
}

 

#include
using namespace std;
int main(){
int n,m;
while (cin >>n >>m && n!=EOF && m!=EOF){
int a[n];
for (int i=0;i<n;i++){
cin >>a[i];
}
for (int i=0;i<m;i++){
int l,r,total=0;
cin >>l >>r;
for (l;l<=r;l++){
total+=a[l-1];
}
cout < }
}
return 0;
}

 

寫了兩種都TLE請問有哪一步可以再更精簡的嗎

I/O優化


還是不太清楚要如何優化...


#18460: Re:TLE


asnewchien@gmail.com (david)


如果我沒看錯,應該是您的建表過程走了很多冤枉路吧,

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

    cin >>a[i];

    for (int j=0;j<=i;j++){

        b[i]+=a[j];

    }

}

不是 IO 優化都能治百病。