Cod sursa(job #3155714)

Utilizator toma_ariciuAriciu Toma toma_ariciu Data 9 octombrie 2023 15:07:00
Problema Aria Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.74 kb
#include <iostream>
#include <vector>
#include <iomanip>

using namespace std;

double cross(pair <double, double> a, pair <double, double> b) {
    return a.first * b.second - a.second * b.first;
}

int main()
{
    #ifndef LOCAL
        freopen("aria.in", "r", stdin);
        freopen("aria.out", "w", stdout);
    #endif // LOCAL
    int n;
    cin >> n;
    vector <pair <double, double>> v(n);
    for (int i = 0; i < n; i++) {
        cin >> v[i].first >> v[i].second;
    }
    v.push_back(v[0]);
    double ans = 0;
    for (int i = 0; i < n; i++) {
        ans += cross(v[i], v[i + 1]);
    }
    ans /= 2;
    if (ans < 0) {
        ans = -ans;
    }
    cout << fixed << setprecision(5) << ans;
    return 0;
}