先是试着这样写:
#include <iostream>
using namespace std;
int a[3001],b[3001];
int main(){
int n,m;
cin>>n>>m;
for(int i=0;i<n;i++){
cin>>a[i];
}
int i=0,j=0,c=0,o=0;
while(c<n){
if(c>=n){
break;
}
i=c;
for(j=0;j<m;j++){
b[j]+=a[i];
i++;
}
c++;
o++;
}
int min=110;
for(int i=0;i<=o;i++){
if(b[i]<=min){
min=b[i];
}
}
cout<<min<<endl;
return 0;
}
然后发现#1~#9都WA,只有#10是AC。
看了评论,以为min初始值要开大一点,然后:
#include <iostream>
using namespace std;
int a[3001],b[3001];
int main(){
int n,m;
cin>>n>>m;
for(int i=0;i<n;i++){
cin>>a[i];
}
int i=0,j=0,c=0,o=0;
while(c<n){
if(c>=n){
break;
}
i=c;
for(j=0;j<m;j++){
b[j]+=a[i];
i++;
}
c++;
o++;
}
int min=100001;
for(int i=0;i<=o;i++){
if(b[i]<=min){
min=b[i];
}
}
cout<<min<<endl;
return 0;
}
结果#1、#3~#10不变,#2变RE。
救救我呀!!!