Cod sursa(job #3225681)

Utilizator Chris_BlackBlaga Cristian Chris_Black Data 18 aprilie 2024 14:42:57
Problema Aria Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.7 kb
#include <bits/stdc++.h>
#define dd double
#define FOR(i, a, b) for(int i = a; i <= b; ++i)
using namespace std;
const int N = 1e5 + 9;

const string TASK("aria");
ifstream fin(TASK + ".in");
ofstream fout(TASK + ".out");
#define cin fin
#define cout fout

using pct = pair<dd, dd>;
#define x first
#define y second

int n;
pct v[N];

dd det(pct a, pct b, pct c)
{
    return (a.x - c.x) * (b.y - c.y) - (b.x - c.x) * (a.y - c.y);
}

int main()
{
    cin >> n;
    FOR(i, 1, n)cin >> v[i].x >> v[i].y;

    v[0] = {0, 0};
    dd ans = 0;
    FOR(i, 1, n - 1)ans += det(v[i], v[i + 1], v[0]);
    ans += det(v[n], v[1], v[0]);

    cout << abs(ans) / 2 << '\n';
    return 0;
}