Submission #1296930

#TimeUsernameProblemLanguageResultExecution timeMemory
1296930tabZemljište (COCI22_zemljiste)C++20
0 / 70
1 ms332 KiB
//ome47 #include "bits/stdc++.h" using namespace std; #define intt long long #define fi first #define se second const intt mxN = 1e5 + 5; const intt LG = 20; const intt inf = 1e18; vector<vector<intt>> g, pre; void _() { intt n, m, a, b; cin >> n >> m >> a >> b; if(a > b) swap(a,b); g.assign(n + 1, vector<intt>(m + 1, 0ll)); pre.assign(n + 1, vector<intt>(m + 1, 0ll)); for(intt i = 1; i <= n; i++) { for(intt j = 1; j <= m; j++) { cin >> g[i][j]; } } for(intt i = 1; i <= n; i++) { for(intt j = 1; j <= m; j++) { pre[i][j] = pre[i][j-1] + g[i][j]; } } intt ans = inf; for(intt i = 1; i <= m; i++) { intt c=0; for(intt j = 1; j <= m; j++) { vector<intt> boo; for(intt l=1;l<=n;l++){ boo.push_back(pre[l][j]-pre[l][i-1]); } intt l = 0, r = 0, cursum = 0, f=0; if(i == 1 && j == 3) f=1; // if(f) for(intt o:boo)cout<<o<<" "; // cout<<endl; while(r < n) { // c++; // if(c==10)break; // if(f) cout << l << " " << r << " " << cursum << endl; while(r < n && cursum < a) { cursum += boo[r]; r++; } // if(f)cout<<r<<endl; if(cursum >= a && cursum <= b) { c=1; ans=b-a; break; } else { ans = min(ans, abs(cursum-a)+abs(cursum-b)); } while(l <= r && cursum > b) { cursum -= boo[l]; l++; } if(l > r) l=r; } if(c)break; } if(c)break; } cout << ans << endl; } int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); intt t = 1, buu = 1; // cin >> t; while(t--){ // cout << "Case #" << buu++ << ": "; _(); } } // ⠀⠀⠀⠀⠀⠀⠀⢀⣤⣦⣶⣤⠀⠀⠀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ // ⣤⢀⣀⡀⣠⣄⣠⣶⣿⣿⣿⣿⣿⣿⣿⣷⣾⡦⠀⠀⠀⠀⠀⠀⠀⠀⠀ // ⠻⡳⢛⠛⠒⠚⢛⣿⣿⠟⠋⠉⠛⠛⢿⣿⣿⣿⠇⠀⠀⠀⠀⠀⠀⠀⠀ // ⢛⡛⢿⣿⠟⠻⠛⣿⣇⣶⣖⣤⣀⣄⡰⣹⣿⡟⠁⠀⠀⠀⠀⠀⠀⠀⠀ // ⢿⠿⠿⠿⠿⠿⠿⢭⣐⠠⢼⣬⠽⢈⢁⡿⠛⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀ // ⣛⣱⣤⣤⣤⣀⣄⣄⣗⢌⠋⠉⢙⣴⣧⢤⣤⣤⣤⣦⡀⠀⠀⠀⠀⢺⡿ // ⣿⣿⣿⠟⠛⠋⠀⡬⠼⢠⠍⠂⠀⠨⡇⠀⡏⠉⠛⢿⣧⠀⠀⠀⠀⢸⣀ // ⣟⠄⠀⠀⠀⠀⠀⢡⠀⠀⠀⠀⠀⡠⠁⢀⠁⠀⠀⠀⠘⣗⢀⠄⢶⣼⣾ // ⠀⠀⠀⢠⣦⠇⠀⠀⠁⠒⠒⠒⠈⠀⠀⠀⣞⢶⡀⠀⠀⠹⣧⣠⡞⣸⣏ // ⠀⠀⢀⡞⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣿⣿⣦⡀⠀⠈⠫⣕⣻⡇ // ⠀⠀⣾⣧⠈⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⣿⣿⣿⣷⣦⡠⡤⠀⣿⡇ // ⠠⢿⣿⣿⠂⠀⠀⠀⠀⠀⠀⠀⠀⣀⣀⠀⠴⣿⣿⣿⣿⠟⠋⢀⣤⣿⣷ // ⣀⣀⣀⣙⣃⣠⣤⣔⣤⣢⣵⣒⣒⣢⣄⣤⣄⣛⣋⣉⣀⣀⣤⣿⣿⣿⣿
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...