Cod sursa(job #3364924)

Utilizator JenJenCristache Ion JenJen Data 13 septembrie 2026 20:49:52
Problema Aria Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.76 kb
#include <fstream>
#include <vector>
#include <cmath>
#include <iomanip>

using namespace std;

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

struct Punct
{
   double x, y;
};

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

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

double aria(const Punct& a, const Punct& b, const Punct& c)
{
    return 0.5 * (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) << '\n';
    return 0;
}