제출 #1330388

#제출 시각아이디문제언어결과실행 시간메모리
1330388secondaccountmaybeZemljište (COCI22_zemljiste)C++20
70 / 70
348 ms4400 KiB
#include<bits/stdc++.h>
using namespace std;
#define ll long long
ll n,m,a,b,c[505][505],d[505][505],e[505],s,l;
ll f(ll x)
{
	return abs(x-a)+abs(x-b);
}
int main()
{
	cin>>n>>m>>a>>b;
	if(a>b)
	{
		swap(a,b);
	}
	for(ll i=1;i<=n;++i)
	{
		for(ll j=1;j<=m;++j)
		{
			cin>>c[i][j];
			d[i][j]=d[i][j-1]+c[i][j];
		}
	}
	s=2e18;
	for(ll j=1;j<=m;++j)
	{
		for(ll k=j;k<=m;++k)
		{
			for(ll i=0;i<=n;++i)
			{
				e[i]=0;
			}
			for(ll i=1;i<=n;++i)
			{
				e[i]=e[i-1]+d[i][k]-d[i][j-1];
			}
			l=0;
			for(ll i=1;i<=n;++i)
			{
				while(l<i&&e[i]-e[l]>b)
				{
					++l;
				}
				s=min(s,f(e[i]-e[l]));
				if(l>0)
				{
					s=min(s,f(e[i]-e[l-1]));
				}
			}
		}
	}
	cout<<s<<endl;
	return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...