Submission #1195082

#TimeUsernameProblemLanguageResultExecution timeMemory
1195082hackstarPalembang Bridges (APIO15_bridge)C++20
0 / 100
2096 ms436 KiB
#include<bits/stdc++.h> using namespace std; #define int long long #define all(x) x.begin(),x.end() struct node{ char home1,off1; int home2,off2; }; void solve(){ int k,n; cin>>k>>n; vector<node>a(n); int mx_=0; for(int i=0;i<n;i++){ cin>>a[i].home1>>a[i].home2>>a[i].off1>>a[i].off2; mx_=max(mx_,a[i].home2); mx_=max(mx_,a[i].off2); } auto dist=[&](node x,int bridge)->int{ if(x.home1==x.off1){ return abs(x.home2-x.off2); } return 1+abs(x.home2-bridge)+abs(x.off2-bridge); }; auto calc=[&](int bridge)->int{ int ans=0; for(int i=0;i<n;i++){ ans+=dist(a[i],bridge); } return ans; }; auto get_mx=[&](int bridge)->int{ int ans=dist(a[0],bridge); for(int i=1;i<n;i++){ ans=max(ans,dist(a[i],bridge)); } return ans; }; int bridge=0; int mx=calc(bridge); for(int i=0;i<=mx_;i++){ int cur=calc(i); if(cur<=mx){ mx=cur; bridge=i; } } cout<<mx<<'\n'; } signed main(){ int t=1; #ifdef LOCAL freopen("input.txt", "r", stdin); freopen("output.txt", "w", stdout); #endif //cin>>t; while(t--){ 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...