Submission #914653

#TimeUsernameProblemLanguageResultExecution timeMemory
91465312345678Palembang Bridges (APIO15_bridge)C++17
22 / 100
33 ms4312 KiB
#include <bits/stdc++.h> using namespace std; const int nx=1e5+5; #define ll long long int k, n, b, d, cnt; char a, c; vector<int> v, l; vector<pair<int, int>> p(nx); long long res, ans=LLONG_MAX; ll cal(int b1, int b2) { ll tmp=0; for (int i=0; i<cnt; i++) tmp+=min(abs(p[i].first-b1)+abs(p[i].second-b1), abs(p[i].first-b2)+abs(p[i].second-b2))+1; //cout<<"here "<<p[i].first<<' '<<p[i].second<<' '<<tmp<<'\n'; return tmp; } int main() { cin.tie(NULL)->sync_with_stdio(false); cin>>k>>n; if (k==1) { for (int i=0; i<n; i++) { cin>>a>>b>>c>>d; if (a==c) { res+=abs(b-d); continue; } v.push_back(b); v.push_back(d); res++; } sort(v.begin(), v.end()); int md=v[v.size()/2]; for (auto x:v) res+=abs(x-md); cout<<res; } else { for (int i=0; i<n; i++) { cin>>a>>b>>c>>d; if (a==c) res+=abs(b-d); else p[cnt++]={b, d}, l.push_back(b), l.push_back(d); } for (int i=0; i<l.size(); i++) for (int j=i; j<l.size(); j++) ans=min(ans, res+cal(l[i], l[j])); cout<<ans; } }

Compilation message (stderr)

bridge.cpp: In function 'int main()':
bridge.cpp:53:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   53 |         for (int i=0; i<l.size(); i++) for (int j=i; j<l.size(); j++) ans=min(ans, res+cal(l[i], l[j]));
      |                       ~^~~~~~~~~
bridge.cpp:53:55: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   53 |         for (int i=0; i<l.size(); i++) for (int j=i; j<l.size(); j++) ans=min(ans, res+cal(l[i], l[j]));
      |                                                      ~^~~~~~~~~
#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...