Submission #938236

#TimeUsernameProblemLanguageResultExecution timeMemory
938236LittleOrangeCoin Collecting (JOI19_ho_t4)C++17
0 / 100
1 ms500 KiB
#include<bits/stdc++.h> using namespace std; using ll = long long; struct pos{ ll x,y; bool operator<(const pos &o) const{ return x!=o.x?x<o.x:y<o.y; } }; ll dis(pos a, pos b){ return abs(a.x-b.x)+abs(a.y-b.y); } int main(){ ios::sync_with_stdio(0);cin.tie(0); ll n; cin >> n; vector<pos> a(n*2); for(pos &o : a) cin >> o.x >> o.y; sort(a.begin(),a.end()); ll ans = 0; vector<pos> b(n*2); for(ll i = 0;i<n;i++){ b[i<<1] = {i+1,1}; b[i<<1|1] = {i+1,2}; } for(ll j = 0;j<5;j++){ for(ll i = 0;i<n*2;i++){ for(ll k = i+1;k<min(i+4,n*2);k++){ if (dis(a[i],b[k])+dis(a[k],b[i])<dis(a[i],b[i])+dis(a[k],b[k])){ swap(a[i],a[k]); } } } } for(ll i = 0;i<n*2;i++) ans += dis(a[i],b[i]); cout << ans << "\n"; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...