#include<bits/stdc++.h>
using namespace std;
int n,f[300][300],m,a[300][300],t[500],ans,sum,b;
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
cin>>a[i][j];
f[i][j]=f[i-1][j]+a[i][j];
}
}
for(int i=n;i>=1;i--)
{
for(int j=i-1;j>=0;j--)
{
for(int k=1;k<=m;k++)
{
t[k]=f[i][k]-f[j][k];
}
ans=INT_MIN;
b=0;
for(int k=1;k<=m;k++)
{
b=b+t[k];
if(b>ans)
ans=b;
if(b<0) b=0;
}
if(ans>sum) sum=ans;
}
}
cout<<sum;
}
www.luogu.com.cn
洛谷
``````//24点2.0
#include<bits/stdc++.h>
using namespace std;
int a[10],b[10],x[10],y[10];
void sc()
{
for(int i=1;i<=3;i++)
{
if(x[i]<y[i])swap(x[i],y[i]);
cout<<x[i];
if(b[i]==1)cout<<"+"<<y[i]<<"="<<x[i]+y[i];
if(b[i]==2)cout<<"-"<<y[i]<<"="<<x[i]-y[i];
if(b[i]==3)cout<<"*"<<y[i]<<"="<<x[i]*y[i];
if(b[i]==4)cout<<"/"<<y[i]<<"="<<x[i]/y[i];
cout<<"\n";
}
}
bool ck()
{
for(int i=1;i<=4;i++)if(a[i]==24)return 1;
return 0;
}
void dfs(int t)
{
if(t>3)
{
if(ck())
{
sc();
exit(0);
}
return;
}
for(int i=2;i<=4;i++)
{
for(int j=1;j<=4;j++)
{
if(i!=j&&a[j]!=-1&&a[i]!=-1)
{
for(int k=1;k<=4;k++)
{
x[t]=a[i];
y[t]=a[j];
int l=a[i],r=a[j];
if(k==1)
{
b[t]=1;
a[i]=l+r;
}
if(k==2)
{
b[t]=2;
a[i]=abs(l-r);
}
if(k==3)
{
b[t]=3;
a[i]=l*r;
}
if(k==4)
{
if(a[j]==0||l%r!=0)continue;
b[t]=4;
a[i]=l/r;
}
a[j]=-1;
dfs(t+1);
a[i]=l;
a[j]=r;
}
}
}
}
}
int main()
{
//freopen("Poker.in","r",stdin);
//freopen("Poker.out","w",stdout);
cin>>a[1]>>a[2]>>a[3]>>a[4];
dfs(1);
cout<<"No answer!";
return 0;
}