Submission #741948

#TimeUsernameProblemLanguageResultExecution timeMemory
741948irmuunPalembang Bridges (APIO15_bridge)C++17
22 / 100
116 ms5828 KiB
#include<bits/stdc++.h> using namespace std; #define pb push_back #define ll long long #define ff first #define ss second #define all(s) s.begin(),s.end() const ll INF=1e18; int main(){ ll k,n; cin>>k>>n; ll l[n+5],r[n+5]; ll dist=0,cur=0; vector<ll>v; for(ll i=1;i<=n;i++){ char a,b; ll p,q; cin>>a>>p>>b>>q; dist+=abs(p-q); if(a!=b){ l[cur]=min(p,q); r[cur]=max(p,q); cur++; v.pb(p); v.pb(q); } } dist+=cur; if(v.size()==0){ cout<<dist; return 0; } sort(l,l+cur); sort(r,r+cur); sort(all(v)); ll suml=0,sumr=0; for(ll i=0;i<cur;i++){ sumr+=l[i]; } ll c=0,d=0; ll ans=INF; for(auto x:v){ while(c<cur&&r[c]<x){ suml+=r[c]; c++; } while(d<cur&&l[d]<=x){ sumr-=l[d]; d++; } ans=min(ans,dist+(x*c-suml)*2+(sumr-x*(cur-d))*2); } cout<<ans; }
#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...