ccbeginner

TIOJ 2167 (AC)

Oct 23rd, 2020 (edited)
748
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <bits/stdc++.h>
  2. #include <time.h>
  3. using namespace std;
  4. #define SZ(x) (int)(x.size())
  5. #define int long long
  6.  
  7. int x[500001], y[500001];
  8.  
  9. int32_t main(){
  10.     int n;
  11.     cin >> n;
  12.     for(int i = 0; i < n; ++i){
  13.         cin >> x[i] >> y[i];
  14.     }
  15.     sort(x, x+n);
  16.     sort(y, y+n);
  17.     long double ans = 0;
  18.     long double cnt = 0;
  19.     long double sum = 0;
  20.     for(int i = 1; i < n; ++i){
  21.         int k = x[i] - x[i-1];
  22.         cnt = cnt + 2 * k * sum + (long double)i * k * k;
  23.         ans += cnt;
  24.         sum += k * i;
  25.         //cout << i << ' ' << k << ' ' << cnt << ' ' << sum << '\n';
  26.     }
  27.     sum = cnt = 0;
  28.     for(int i = 1; i < n; ++i){
  29.         int k = y[i] - y[i-1];
  30.         cnt = cnt + 2 * k * sum + (long double)i * k * k;
  31.         ans += cnt;
  32.         sum += k * i;
  33.         //cout << i << ' ' << k << ' ' << cnt << ' ' << sum << '\n';
  34.     }
  35.     printf("%.9LF\n", ans * acos(-1) / 2);
  36.     if(ans * acos(-1) / 2 < 0)while(1);
  37.     return 0;
  38. }
RAW Paste Data