Submission #1272521

#TimeUsernameProblemLanguageResultExecution timeMemory
1272521ttooppZemljište (COCI22_zemljiste)C++20
0 / 70
1 ms580 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; ll n, m, a, b; ll count(ll x){ return abs(a-x)+abs(b-x); } int main(){ cin >> n >> m >> a >> b; ll A[n+3][m+3]; for(int i=1; i<=n; i++){ for(int j=1; j<=m; j++){ cin >> A[i][j]; } } ll pref[n+3][m+3]; for(int j=1; j<=m; j++){ pref[0][j]=0; for(int i=1; i<=n; i++){ pref[i][j]=pref[i-1][j]+A[i][j]; } } ll ans=1e18; for(int i=1; i<=n; i++){ for(int x=i; x<=n; x++){ ll l=1, r=1, sum=pref[x][1]-pref[i-1][1]; //cout << sum <<" "; while(r+1<=m){ if(sum> max(a,b)){ sum-=(pref[x][l]-pref[i-1][l]); l++; }else{ r++; sum+=(pref[x][r]-pref[i-1][r]); } ans=min(ans, count(sum)); //cout << ans <<" i:"<< i <<" x:"<< x <<" l:"<< l<<" r:"<<r<<endl; } //cout << i << " "<< x << " "<< ans <<endl; } } cout << ans <<endl; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...