↓ 这是用数组存的, 13 AC 7 TLE
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,m;
cin>>n>>m;
for(int i=0;i<n;i++){
int a[1000005],maxi=0,s[1000005]={0};
for(int j=0;j<m;j++){
cin>>a[j];
s[j+1]=s[j]+bool(a[j]);
if(a[j]>a[maxi])
maxi=j;
}
cout<<maxi+1<<' '<<s[maxi]<<'\n';
}
return 0.0;
}
↓ 这是不用数组的,只变量, AC 了
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,m;
cin>>n>>m;
for(int i=0;i<n;i++){
int a,s=0,maxa=-1,maxj=-1,z=0;
for(int j=0;j<m;j++){
cin>>a;
if(a>maxa){
maxa=a;
maxj=j;
s=j-z;
}
z+=(a==0);
}
cout<<maxj+1<<' '<<s<<'\n';
}
return 0.0;
}
为什么用数组会 7 TLE ?