Cod sursa(job #3364929)

Utilizator JenJenCristache Ion JenJen Data 13 septembrie 2026 21:07:03
Problema Aria Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.79 kb
#include <fstream>
#include <vector>
#include <cmath>
#include <iomanip>

using namespace std;

ifstream cin ("aria.in");
ofstream cout ("aria.out");

struct Punct
{
   long double x, y;
};

long long n;
long double x, y;
vector <Punct> v;

Punct origine = {0, 0};
long double s = 0;

long double aria(const Punct& a, const Punct& b, const Punct& c)
{
    return (a.x*(b.y - c.y) + b.x*(c.y - a.y) + c.x*(a.y - b.y));
}

int main()
{
    cin >> n;

    for (int i = 1; i <= n; i++)
    {
        cin >> x >> y;
        v.push_back({x, y});
    }

    for (int i = 1; i < v.size(); i++)
    {
        s += aria(origine, v[i - 1], v[i]);
    }

    s += aria(origine, v[n - 1], v[0]);
    cout << fixed << setprecision(5) << abs(s) / 2.0 << '\n';
    return 0;
}