E 为什么会运行超时 因为我用的是数组吗?
觉得自己代码和ac代码没什么区别,,只是我没用map
oTATo
#include<bits/stdc++.h> using namespace std; void solve(){ int n,m; cin>>n>>m; long long int a[1005][1005]={0}; int i,j; long long int x[2050]={0}; long long int s[2050]={0}; for(i=1;i<=n;i++){ for(j=1;j<=m;j++){ cin>>a[i][j]; x[j-i+n]+=a[i][j]; s[j+i]+=a[i][j]; } } long long int now=0,mx=0; for(i=1;i<=n;i++){ for(j=1;j<=m;j++){ now=x[j-i+n]+s[j+i]-a[i][j]; mx=max(now,mx); } } cout<<mx<<"\n"; } int main() { int t; cin>>t; while(t-->0){ solve(); } return 0; }