题目链接:
https://pintia.cn/problem-sets/994805260223102976/problems/1071785779399028736
AC代码:
#include <iostream>
#include <cstdio>
#include <cmath>
#include <string>
#include <algorithm>
using namespace std;
const int maxn=1010;
int a[maxn]={0};
int b[maxn]={0};//用于查找最大值下标
int main(){
int N,M;
int tmp;
scanf("%d%d",&N,&M);
while(M--){
for(int i=1;i<=N;i++){
scanf("%d",&tmp);
a[i]+=tmp;
b[i]+=tmp;
}
}
sort(a+1,a+N+1);
printf("%d\n",a[N]);
int temp=0;//用于生成标准输出
for(int i=1;i<=N;i++){
if(b[i]==a[N]){
if(temp!=0)//生成标准输出
printf(" ");
printf("%d",i);
temp++;
}
}
return 0;
}
二刷:
#include <iostream>
#include <cstdio>
#include <set>
using namespace std;
const int maxn=1010;
int a[maxn];
int main(){
int N,M;
set<int> st;
scanf("%d%d",&N,&M);
int tmp;
int MAX=0;
for(int i=0;i<M;i++){
for(int j=1;j<=N;j++){
scanf("%d",&tmp);
a[j]+=tmp;
if(MAX<a[j]){
MAX=a[j];
}
}
}
printf("%d\n",MAX);
for(int i=1;i<=N;i++){
if(MAX==a[i])
st.insert(i);
}
int cnt=0;
for(set<int>::iterator it=st.begin();it!=st.end();it++){
if(cnt==0)
printf("%d",*it);
else{
printf(" %d",*it);
}
cnt++;
}
}