牛客-Y 老师的井字窗
链接:https://ac.nowcoder.com/acm/contest/3667/B
来源:牛客网
Y 老师因为贫穷破费(应该是去买乐高玩具了),现在只能将他镀金的门窗变卖换钱了,但这样就不能抵御即将到来的寒潮了,所以 Y 老师用了几块木板将它的门窗钉了起来,其中包括 n 块横向木板和 m 块纵向木板,横向木板总是与纵向木板十字交叉,这样 Y 老师就能做好一副n*m的井字窗。如下图是一个4*10的井字窗:
现在已知 Y 老师只会钉两块木板的交叉处,我们知道了每颗钉子对这块木板的磨损程度,你能帮他算一下,磨损程度最大的木板,它的磨损度是多少
输入描述:
第一行两个数字,n,m分别代表横向木板与纵向木板的总数量(1<=n,m<=1e5 , n * m <= 1e6)
接下来有 n 行 m 列的矩阵,第 i 行 第 j 列的数字代表,第 i 块横向木板与第 j 块纵向木板之间钉子会造成的磨损程度,矩阵中的每个数是不超过1e5的整数
输出描述:
一行一个数字输出,最大磨损的程度。
示例1
说明
样例中,第一且唯一的一块横向木板被钉了两次,所以它的磨损程度最大
#pragma GCC optimize(2) #include<bits/stdc++.h> using namespace std; inline int read() {int x=0,f=1;char c=getchar();while(c!='-'&&(c<'0'||c>'9'))c=getchar();if(c=='-')f=-1,c=getchar();while(c>='0'&&c<='9')x=x*10+c-'0',c=getchar();return f*x;} typedef long long ll; const int maxn = 1e6+10; ll c[maxn]; ll d[maxn]; int main() { int n,m,x; cin>>n>>m; for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ scanf("%d",&x); c[i]+=x; d[j]+=x; } } sort(c+1,c+n+1); sort(d+1,d+m+1); ll t=max(c[n],d[m]); printf("%lld",t); return 0; }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具