よじろめ覚書

私の理解度重視のソースコードです。

ABC026B - N重丸

問題:B - N重丸

#include <algorithm>
#include <cmath>
#include <cstdio>
#include <functional>
#include <iostream>
using namespace std;

#define REP(i, n) for(int i = 0; i < (n); ++i)

#define MAX (int)1e3

int main(void) {
    int n;
    double r[MAX], s = 0.0;

    scanf ("%d", &n);
    REP(i, n) {
        scanf ("%lf", &r[i]);
    }

    sort(r, r + n, greater<int>());
    REP(i, n) {
        if (i % 2 == 0) {
            s += pow(r[i], 2);
        } else {
            s -= pow(r[i], 2);
        }
    }

    printf ("%.12lf\n", (double)s * M_PI);
    return 0;
}