Submission #963401

#TimeUsernameProblemLanguageResultExecution timeMemory
963401leo_2727Coin Collecting (JOI19_ho_t4)C++17
0 / 100
1 ms604 KiB
#include <algorithm> #include <fstream> #include <vector> #include <queue> #include <stack> #include <iostream> #include <cmath> #include <queue> #include <set> #include <string> #include <cstring> #include <map> #include <unordered_map> #include <unordered_set> #include <iomanip> #define F first #define S second #define PB push_back using namespace std; const long long MOD=1e9+7, INF=1e18; const int INFI=1e9; typedef long long ll; typedef pair<int, int> ii; typedef vector<int> vi; typedef vector<vi> vvi; typedef vector<ii> vii; typedef vector<pair<int, ii>> viii; typedef vector<vii> vvii; typedef vector<ll> vll; typedef vector<vll> vvll; bool vis[2005]; vii coords(2005); vvll dist(2005, vll(3, INF)); vector<pair<ll, pair<int, ii>>> ar; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); int n; cin>>n; if(n>1000) return 0; memset(vis, false, 2005); for(int i=1;i<=2*n;i++) cin>>coords[i].F>>coords[i].S; for(int i=1;i<=2*n;i++) for(int j=1;j<=n;j++) for(int k=1;k<=2;k++) ar.PB({(ll)abs((ll)coords[i].F-j)+(ll)abs((ll)coords[i].S-k), {i, {j, k}}}); sort(ar.begin(), ar.end()); for(int i=0;i<(int)ar.size();i++){ ll dis=ar[i].F; int from=ar[i].S.F, x=ar[i].S.S.F, y=ar[i].S.S.S; if(dist[x][y]!=INF || vis[from]) continue; vis[from]=true; dist[x][y]=dis; } ll ans=0; for(int j=1;j<=n;j++) for(int i=1;i<=2;i++) ans+=dist[j][i]; cout<<ans<<endl; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...