Submission #1147893

#TimeUsernameProblemLanguageResultExecution timeMemory
1147893njoopOBELISK (NOI14_obelisk)C++17
0 / 25
438 ms327680 KiB
#include <bits/stdc++.h> #define int long long #define ti tuple<int, int, int> using namespace std; const int mxf = 505, mxh = 105; int k, m, h, cx, cy, cd, cf, ch, nd, nf, nh, sp[mxf][mxh]; vector<pair<int, int>> fl[mxf]; vector<ti> g[mxf][mxh]; int findBDis(int dx, int dy) { int dis = 0; if(dx != 0) dis += dx+2; if(dy != 0) dis += dy+2; return dis; } int findDis(int x1, int y1, int x2, int y2) { int dis=0, dx = abs(x2-x1), dy = abs(y2-y1); dis += dx/(m+1)*2; dx %= m+1; dis += dy/(m+1)*2; dy %= m+1; return dis + min({findBDis(dx, dy), findBDis(abs(dx-m-1), dy)+2, findBDis(dx, abs(dy-m-1))+2, findBDis(abs(dx-m-1), abs(dy-m-1)+4)}); } signed main() { cin.tie(0)->sync_with_stdio(0); cin >> k >> m; cin >> cx >> cy; fl[0].push_back({cx, cy}); cin >> cx >> cy; fl[k].push_back({cx, cy}); for(int i=1; i<=k; i++) { cin >> h; h--; while(h--) { cin >> cx >> cy; fl[i].push_back({cx, cy}); } } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...