Submission #170590

#TimeUsernameProblemLanguageResultExecution timeMemory
170590VEGAnnPalembang Bridges (APIO15_bridge)C++14
8 / 100
2054 ms2156 KiB
#include <bits/stdc++.h> #define all(x) x.begin(),x.end() #define pii pair<int, int> #define ft first #define sd second #define MP make_pair #define PB push_back #define sz(x) ((int)x.size()) using namespace std; typedef long long ll; const ll PW = 43; const int N = 30010; const int B = 100; const int oo = 2e9; const ll OO = 1e18; vector<pii> seg; vector<int> pts; ll extra = 0, best = OO; int k, n; int main(){ ios_base::sync_with_stdio(0); cin.tie(0); // freopen("in.txt","r",stdin); cin >> k >> n; assert(k == 1); for (int i = 0; i < n; i++){ char c1, c2; int l, r; cin >> c1 >> l >> c2 >> r; if (l > r) swap(l, r); extra += r - l; if (c1 != c2){ seg.PB(MP(l, r)); pts.PB(l); pts.PB(r); } } sort(all(pts)); pts.resize(unique(all(pts)) - pts.begin()); for (int x : pts){ ll cur = 0; for (pii cr : seg){ if (cr.sd < x) cur += x - cr.sd; if (cr.ft > x) cur += cr.ft - x; } best = min(best, cur + cur); } if (best == OO) best = 0; cout << best + extra + sz(seg); 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...
#Verdict Execution timeMemoryGrader output
Fetching results...