Advertisement
Guest User

Untitled

a guest
Nov 1st, 2014
161
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.78 KB | None | 0 0
  1. #pragma comment(linker, "/STACK:66777216")
  2. #define _CRT_SECURE_NO_WARNINGS
  3. //#include <bits/stdc++.h>
  4. //#include <unordered_set>
  5. //#include <unordered_map>
  6. #include <functional>
  7. #include <algorithm>
  8. #include <iostream>
  9. #include <sstream>
  10. #include <fstream>
  11. #include <cassert>
  12. #include <iomanip>
  13. #include <complex>
  14. #include <cstring>
  15. #include <cstdio>
  16. #include <bitset>
  17. #include <string>
  18. #include <vector>
  19. #include <ctime>
  20. #include <queue>
  21. #include <stack>
  22. #include <cmath>
  23. #include <list>
  24. #include <set>
  25. #include <map>
  26.  
  27. #define forn(i,n) for(int i = 0; i < (int)(n); ++ i)
  28. #define for1(i,n) for(int i = 1; i <= (int)(n); ++ i)
  29. #define fore(i,a,b) for(int i = (int)(a); i <= (int)(b); ++ i)
  30. #define ford(i,n) for(int i = (int)(n)-1; i >= 0; -- i)
  31. #define ford1(i,n) for(int i = (int)(n); i >= 1; -- i)
  32. #define fored(i,a,b) for(int i = (int)(b); i >= (int)(a);--i)
  33. #define mp make_pair
  34. #define pb push_back
  35. #define sz(v) ((int)((v).size()))
  36. #define all(v) (v).begin(), (v).end()
  37. #define FOR(i, n) for (int i = 0; i < (n); ++i)
  38. //#define fi first
  39. //#define se second
  40.  
  41. using namespace std;
  42.  
  43. typedef unsigned long long ULL;
  44. typedef long long LL;
  45. typedef long double LD;
  46. typedef long long i64;
  47. typedef unsigned long long u64;
  48. typedef long double ld;
  49. typedef vector<bool> vb;
  50. typedef vector<int> vi;
  51. typedef vector<vi> vvi;
  52. typedef pair<int,int> pii;
  53. typedef pair<LL,LL> pll;
  54. typedef vector<pii> vpi;
  55. typedef vector<ld> vd;
  56. typedef pair<ld,ld> pdd;
  57. typedef vector<pdd> vpd;
  58.  
  59. const int N = 2*10000+5, INF = 1000000000;
  60. int n;
  61. int x[ N ], y[ N ];
  62. int p[ N ];
  63. int d[ N ];
  64. inline int abs1(int x){
  65. return x < 0?-x:x;
  66. }
  67. inline int D(int i,int j){
  68. return abs1(x[i]-x[j])+abs1(y[i]-y[j]);
  69. }
  70. bool mark[ N ];
  71. void solve(){
  72. scanf("%d", &n);
  73. forn(i,n)
  74. scanf("%d%d", &x[i], &y[i]);
  75. forn(i,n){
  76. p[i] = 0;
  77. d[i] = D(i,p[i]);
  78. }
  79. mark[0] = true;
  80. int res = 0;
  81. forn(i,n-1){
  82. int u, ma = INF;
  83. forn(j,n){
  84. if(!mark[j] && ma > d[j]){
  85. ma = d[j];
  86. u = j;
  87. }
  88. }
  89. res = max(res,ma);
  90. mark[u] = true;
  91. forn(j,n){
  92. if(!mark[j]){
  93. int v = D(u,j);
  94. if(v < d[j]){
  95. d[j] = v;
  96. p[j] = u;
  97. }
  98. }
  99. }
  100. }
  101. printf("%d\n", res);
  102. }
  103. void testgen(){
  104. FILE * f = fopen("input.txt", "w");
  105. int T = 2*100*100;
  106. fprintf(f, "%d\n", T);
  107. forn(i,T){
  108. fprintf(f, "%d %d\n", rand(), rand());
  109.  
  110. }
  111. // srand(time(NULL));
  112. fclose(f);
  113. }
  114. int main() {
  115. #ifdef HOME
  116. testgen();
  117. freopen("input.txt", "r", stdin);
  118. // freopen("output.txt", "w", stdout);
  119. #else
  120. #define task "combo"
  121. // freopen(task".in", "r", stdin);
  122. // freopen(task".out", "w", stdout);
  123. #endif
  124.  
  125. cout<<fixed;
  126. cout.precision(15);
  127. cerr<<fixed;
  128. cerr.precision(3);
  129.  
  130. solve();
  131.  
  132. #ifdef HOME
  133. cerr<<"Execution time = "<<clock()/1000.0<<"ms\n";
  134. #endif
  135. return 0;
  136. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement