Submission #1281426

#TimeUsernameProblemLanguageResultExecution timeMemory
1281426StefanSebezPalembang Bridges (APIO15_bridge)C++20
22 / 100
82 ms1560 KiB
#include <bits/stdc++.h> using namespace std; #define fi first #define se second #define pb push_back #define ll long long #define ld long double #define mp make_pair void chmn(ll &x,ll y){x=min(x,y);} void chmx(ll &x,ll y){x=max(x,y);} const ll inf=1e18; void Solve1(){ int n;scanf("%i",&n); vector<int>vals; ll ans=0; for(int i=1;i<=n;i++){ char p,q;int s,t; cin>>p>>s>>q>>t; if(p==q) ans+=abs(s-t); else{ ans++; vals.pb(s);vals.pb(t); } } sort(vals.begin(),vals.end()); int m=vals.size()/2; for(auto i:vals) ans+=abs(i-vals[m]); printf("%lld\n",ans); } void Solve2(){ int n;scanf("%i",&n); vector<ll>vals; vector<pair<ll,ll>>a; ll ans=0; for(int i=1;i<=n;i++){ char p,q;ll s,t; cin>>p>>s>>q>>t; if(p==q) ans+=abs(s-t); else{ ans++; vals.pb(s);vals.pb(t); if(s>t)swap(s,t); a.pb({s,t}); } } ll res=inf; for(auto i:vals){ for(auto j:vals){ ll sum=0; for(auto [x,y]:a){ sum+=min(abs(x-i)+abs(y-i),abs(x-j)+abs(y-j)); } chmn(res,sum); } } ans+=res; printf("%lld\n",ans); } int main(){ int KK;scanf("%i",&KK); if(KK==1) Solve1(); else Solve2(); return 0; }

Compilation message (stderr)

bridge.cpp: In function 'void Solve1()':
bridge.cpp:13:16: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   13 |     int n;scanf("%i",&n);
      |           ~~~~~^~~~~~~~~
bridge.cpp: In function 'void Solve2()':
bridge.cpp:31:16: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   31 |     int n;scanf("%i",&n);
      |           ~~~~~^~~~~~~~~
bridge.cpp: In function 'int main()':
bridge.cpp:60:17: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   60 |     int KK;scanf("%i",&KK);
      |            ~~~~~^~~~~~~~~~
#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...