Cod sursa(job #2863965)

Utilizator Kawaiimeatball13Russu Mihaela Kawaiimeatball13 Data 7 martie 2022 14:12:56
Problema Aria Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.79 kb
#include <iostream>
#include <fstream>
#include <cmath>
#include <iomanip>

using namespace std;

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

struct punct{
    long double x;
    long double y;
}a[100001];

int n;
long double arie;

long double determinant(punct a, punct b, punct c)
{
    return (c.y - a.x) * (b.x - a.x) - (c.x - a.x) * (b.y - a.y);
}

void citire()
{
    fin >> n;
    for(int i = 0; i < n; ++i)
        fin >> a[i].x >> a[i].y;
}

int main()
{
    punct o;
    o.x = 0;
    o.y = 0;
    citire();
    for(int i = 0; i < n - 1; ++i)
    {
        long double d = determinant(o, a[i], a[i + 1]);
        arie += d;
    }
    arie += determinant(o, a[n - 1], a[0]);

    fout << setprecision(5) << fixed << abs(arie / 2);
    return 0;
}