Cod sursa(job #2510562)

Utilizator Bulboaca_EugenBulboaca Alexandru Eugen Bulboaca_Eugen Data 16 decembrie 2019 21:35:45
Problema Aria Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.67 kb
#include <bits/stdc++.h>
using namespace std;
const int MAXN = 1e5 + 50;
ifstream fin("aria.in");
ofstream fout("aria.out");
struct punct{
    long double x, y;
}p[MAXN];
long double arie_tri(punct a, punct b, punct c){
    return ( (a.x - c.x) * (b.y - c.y) - (a.y - c.y) * (b.x - c.x) );
}
int main()
{
    ios::sync_with_stdio(false);
    fin.tie(0); fout.tie(0);
    int n; fin >> n;
    long double arie = 0;
    for(int i = 0; i < n; ++i) fin >> p[i].x >> p[i].y;
    p[n] = p[0];
    for(int i = 0; i < n; ++i)
       arie += arie_tri(p[i], p[(i + 1)], {0, 0});
    if(arie < 0 ) arie *= -1;
    fout << setprecision(9) << fixed << arie / 2;
    return 0;
}