Submission #640680

#TimeUsernameProblemLanguageResultExecution timeMemory
640680andecaandeciPalembang Bridges (APIO15_bridge)C++17
22 / 100
48 ms7412 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define db double #define pairll pair<ll,ll> #define lpairll pair<ll,pairll> #define repp(i,a,b) for (ll i = a; i <= b; i++) #define repz(i,a,b) for (ll i = a; i < b; i++) #define repm(i,a,b) for (ll i = a; i >= b; i--) #define fr first #define sc second #define mp make_pair #define pb push_back const ll N = 3e5+5, MOD = 1e9+7, M = 1e5+5; ll tc = 1, n, m, lr[N], rr[N]; ll x, y, k, otsum, dg; string s, s1, s2, ye = "YES", no = "NO"; vector<pairll> v; ll kir[N], kan[N], val[N], pr[N]; void input(){ cin >> k >> n; v.pb(mp(0,2)); repp(i,1,n){ char A, B; ll L, R; cin >> A >> L >> B >> R; if (L > R) swap(L,R); if (A == B){ otsum += abs(L-R); } else{ otsum++; v.pb(mp(L,0)); v.pb(mp(R,1)); } } } void solve(){ if (k == 1){ sort(v.begin(),v.end()); ll ans = LONG_LONG_MAX; ll sz = v.size()-1; repp(i,1,sz){ pr[i] = pr[i-1]+v[i].fr; //cout << i << " " << pr[i] << endl; } repp(i,1,sz){ ll lefsum = pr[i], rigsum = pr[sz]-pr[i]; ll cur = v[i].fr*i-lefsum; cur += rigsum-(sz-i)*v[i].fr; ans = min(ans,cur); } if(v.size() == 1) ans = 0; cout << ans+otsum << endl; } } int main(){ ios_base::sync_with_stdio(0); cin.tie(NULL); cout.tie(NULL); //cin >> tc; while(tc--){ input(); solve(); } }
#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...