Cod sursa(job #2415508)

Utilizator Mihai145Oprea Mihai Adrian Mihai145 Data 26 aprilie 2019 09:54:45
Problema Aria Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.78 kb
#include <fstream>
#include <iomanip>
#define x first
#define y second

using namespace std;

ifstream fin("aria.in");
ofstream fout("aria.out");

int N;
pair <long double, long double> v[100005];
long double area;

long double Mod(long double A)
{
    return max(A, -A);
}

long double Det(pair <long double, long double> A, pair <long double, long double> B, pair <long double, long double> C)
{
    return 0.5 * (B.x * A.y - A.x * B.y + C.x * B.y - B.x * C.y + A.x * C.y - C.x * A.y);
}

int main()
{
    fin >> N;

    for(int i = 1; i <= N; i++)
        fin >> v[i].x >> v[i].y;
    v[N + 1] = v[1];

    for(int i = 1; i <= N; i++)
        area += Det(v[1], v[i], v[i + 1]);

    fout << fixed << setprecision(12) << Mod(area) << '\n';

    return 0;
}