Cod sursa(job #2835133)

Utilizator pielevladutPiele Vladut Stefan pielevladut Data 18 ianuarie 2022 09:43:28
Problema Aria Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.72 kb
#include <bits/stdc++.h>

using namespace std;

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

const int NMAX = 100000;

int N;
struct elem
{
    int x, y;
};
elem punct[NMAX + 5];
/*
0        0            1
x[i]     y[i]         1
x[i + 1] y[i + 1]     1

det = x[i] * y[i + 1] - x[i + 1] * y[i]

*/

int main()
{
    fin >> N;
    for(int i = 1; i <= N; i ++)
    {
        fin >> punct[i].x >> punct[i].y;
    }
    punct[N + 1] = punct[1];
    long double ans = 0.0;
    for(int i = 1; i <= N; i ++)
    {
        ans += (long double)(punct[i].x * punct[i + 1].y - punct[i + 1].x * punct[i].y);
    }
    ans = ans / (long double) 2;
    fout << fixed << setprecision(6) << ans << '\n';
}