玄关求条(qwq)
查看原帖
玄关求条(qwq)
780942
qeyp楼主2025/1/22 19:39
#include <bits/stdc++.h>
using namespace std;
int sa[55][55];
int f[55][55][55][55];
int main()
{
	int n;
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=n;j++)
		{
			int t;
			cin>>t;
			sa[i][j]=sa[i][j-1]+t;
		}
	}
	for(int sx=1;sx<=n;sx++)
	{
		for(int ex=sx;ex<=n;ex++)
		{
			for(int sy=1;sy<=n;sy++)
			{
				for(int ey=sy;ey<=n;ey++)
				{
					for(int x=sx;x<=ex;x++)
					{
						f[sx][ex][sy][ey]+=sa[x][ey]-sa[x][sy-1];
					}
				}
			}
		}
	}
	int m;
	cin>>m;
	for(int i=1;i<=m;i++)
	{
		int t;
		cin>>t;
		int ans=0;
		for(int j=1;j<=n;j++)
		{
			if(t%j==0 && t/j<=n)
			{
				for(int x=1;x+j-1<=n;x++)
				{
					for(int y=1;y+t/j-1<=n;y++)
					{
						ans=max(ans,f[x][x+j-1][y][y+t/j-1]);
					}
				}
			}
		}
		cout<<ans<<endl;
	}
	return 0;
}
2025/1/22 19:39
加载中...