Submission #259292

#TimeUsernameProblemLanguageResultExecution timeMemory
259292pure_memPalembang Bridges (APIO15_bridge)C++14
0 / 100
2 ms384 KiB
#include <bits/stdc++.h> #define ll long long #define X first #define Y second #define MP make_pair using namespace std; const int N = 1e5 + 12; const ll INF = 1e15; int n, k; vector< pair<int, int> > gr; int main () { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin >> k >> n; ll res = 0; for(int i = 1;i <= n;i++){ char x1, x2; int y1, y2; cin >> x1 >> y1 >> x2 >> y2; if(y1 > y2) swap(y1, y2); if(x1 != x2){ gr.push_back(MP(y1, -1)); gr.push_back(MP(y2, 1)); res += 1; } else{ res += y2 - y1; } } sort(gr.begin(), gr.end()); int mxcnt = 0, curs = 0; for(pair<int, int> v: gr){ curs -= v.Y; mxcnt = max(mxcnt, curs); } int my_edge = 0; for(pair<int, int> v: gr){ curs -= v.Y; if(curs == mxcnt){ my_edge = v.X; } } //cerr << my_edge << "\n"; for(pair<int, int> v: gr){ res += abs(my_edge - v.X); } cout << res; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...