Cod sursa(job #2835125)

Utilizator pielevladutPiele Vladut Stefan pielevladut Data 18 ianuarie 2022 09:38:10
Problema Aria Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.81 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]

*/

double arie(int a, int b, int c, int d)
{
    double val = (double) (a * d - b * c);
    val = val / (double) 2;
    return val;
}

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 += arie(punct[i].x, punct[i].y, punct[i + 1].x, punct[i + 1].y);
    }
    fout << fixed << setprecision(6) << ans << '\n';
}