Submission #243303

#TimeUsernameProblemLanguageResultExecution timeMemory
243303Leonardo_PaesPalembang Bridges (APIO15_bridge)C++17
31 / 100
2089 ms6248 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; const ll inf = 1e18+10; int main(){ ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL); int k, n; cin >> k >> n; ll ans1 = 0, ans2 = 0; vector<ll> a, b, c; for(int i=1; i<=n; i++){ int s, t; char p, q; cin >> p >> s >> q >> t; if(p == q) ans1 += abs(s - t); else{ if(p == 'B') swap(s, t); a.push_back(s); b.push_back(t); } } for(auto x : a) c.push_back(x); for(auto x : b) c.push_back(x); if(k == 1){ for(auto x : a) c.push_back(x); for(auto x : b) c.push_back(x); sort(c.begin(), c.end()); if(!c.empty()){ ll opt = c[(int)c.size()/2]; for(auto x : a) ans2 += abs(opt - x); for(auto x : b) ans2 += abs(opt - x); } } else if(!c.empty()){ ans2 = inf; for(int i=0; i<c.size(); i++){ for(int j=i+1; j<c.size(); j++){ ll tot = 0LL; for(int k=0; k<a.size(); k++){ tot += min(abs(a[k] - c[i]) + abs(b[k] - c[i]), abs(a[k] - c[j]) + abs(b[k] - c[j])); } ans2 = min(ans2, tot); } } } cout << ans1 + ans2 + (int)a.size() << "\n"; return 0; }

Compilation message (stderr)

bridge.cpp: In function 'int main()':
bridge.cpp:36:23: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(int i=0; i<c.size(); i++){
                      ~^~~~~~~~~
bridge.cpp:37:29: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             for(int j=i+1; j<c.size(); j++){
                            ~^~~~~~~~~
bridge.cpp:39:31: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
                 for(int k=0; k<a.size(); k++){
                              ~^~~~~~~~~
#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...