Cod sursa(job #3309362)

Utilizator diana_stefaniaMailat Diana Stefania diana_stefania Data 3 septembrie 2025 19:31:51
Problema Aria Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.89 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("aria.in");
ofstream fout("aria.out");
long double determinant(pair <long double,long double>A,pair<long double,long double>B,pair<long double,long double>C){
    return A.first*B.first+B.first*C.second+C.first*A.second-A.second*B.first-B.second*C.first-C.second*A.first;
}
long double get SegmentArea(pair<long double,long double>A,pair<long double,long double>B){
    return determinant({0,0},A,B);
}
pair <long double,long double>v[100005];

int main()
{
   int n;
    cin >> n;
    for (int i = 1; i <= n; i++) {
        cin >> v[i].first >> v[i].second;
    }
    v[n + 1] = v[1];

    long double aria = 0;
    for (int i = 1; i <= n; ++i) {
        aria += getSegmentArea(v[i], v[i + 1]);
    }

    long double result = aria / 2.0;

    cout << fixed << setprecision(10) << result;
    return 0;
}