Cod sursa(job #2415504)

Utilizator Mihai145Oprea Mihai Adrian Mihai145 Data 26 aprilie 2019 09:46:02
Problema Aria Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.9 kb
#include <fstream>
#include <iomanip>

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 long, long long> A, pair <long long, long long> B, pair <long long, long long> C)
{
    return 0.5 * (B.first * A.second - A.first * B.second + C.first * B.second - B.first * C.second + A.first * C.second - C.first * A.second);
}

int main()
{
    fin >> N;

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

    for(int i = 1; i <= N; i++)
    {
        pair <long double, long double> A = v[i];
        pair <long double, long double> B = ((i == N) ? v[1] : v[i + 1]);

        area += Det(v[1], A, B);
    }

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

    return 0;
}