Cod sursa(job #2253081)

Utilizator paul_danutDandelion paul_danut Data 3 octombrie 2018 16:56:14
Problema Aria Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
#include <fstream>
#include <iomanip>

using namespace std;

double abs(double x)
{
    return x > 0 ? x : -x;
}

int main()
{
    int n;
    double x[100002];
    double y[100002];
    double cx = 0, cy = 0;

    ifstream f("aria.in");
    ofstream g("aria.out");

    f >> n;
    for(auto i=0; i<n; ++i)
    {
        f >> x[i] >> y[i];
        cx += x[i];
        cy += y[i];
    }
    x[n] = x[0];
    y[n] = y[0];

    cx = cx / (double)n;
    cy = cy / (double)n;

    double s = 0;

    for(auto i=0; i<n; ++i)
    {
        s += abs(cx * y[i] + x[i+1] * cy + x[i] * y[i+1] - x[i+1] * y[i] - cx * y[i+1] - x[i] * cy);
    }

    s = s/2;

    g << std::fixed << std::setprecision(5) << s;
    return 0;
}