Submission #704887

#TimeUsernameProblemLanguageResultExecution timeMemory
704887Cookie197Zemljište (COCI22_zemljiste)C++17
10 / 70
58 ms1120 KiB
#pragma GCC optimize("O4,unroll-loops") #include<iostream> #include<vector> #include<algorithm> #include<set> #include<map> using namespace std; #define ll long long #define pii pair<int,int> #define endl "\n" #define mp make_pair #define out(x) cout << #x << " = " << x << endl int n,m; ll arr[505][505],pre[505][505],a,b; signed main(){ ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); cin>>n>>m>>a>>b; for (int i=1;i<=n;i++){ for (int j=1;j<=m;j++) cin>>arr[i][j], pre[i][j] = pre[i-1][j] + pre[i][j-1] - pre[i-1][j-1] + arr[i][j]; } ll ans = 1e18; for (int i=1;i<=n;i++) for (int j=i;j<=n;j++){ multiset<ll> ms; ms.insert(2e18); ms.insert(-2e18); ms.insert(0); ll sum = 0; for (int k=1;k<=m;k++) sum += pre[j][k] - pre[j][k-1] - pre[i-1][k] + pre[i-1][k-1], ms.insert(sum); cout<<endl; for (ll u:ms){ ll x = *ms.lower_bound(u+a); ans = min(ans, abs((x-u) - a) + abs((x-u) - b)); x = *(--ms.lower_bound(u+b+1)); ans = min(ans, abs((x-u) - a) + abs((x-u) - b)); } } cout<<ans<<endl; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...