Cod sursa(job #3348751)

Utilizator EricDimiCismaru Eric-Dimitrie EricDimi Data 23 martie 2026 20:11:31
Problema Aria Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.86 kb
#include <fstream>
#include <iomanip>

using namespace std;

ifstream f("aria.in");
ofstream g("aria.out");

const int NMAX = 100000;

struct Point
{
    long double x, y;
    Point(long double xx = 0, long double yy = 0): x(xx), y(yy) {}
    friend istream& operator >> (istream &in, Point &p)
    {
        in >> p.x >> p.y;
        return in;
    }
};
Point polygon[NMAX + 5];
int n;

long double Area2(Point p1, Point p2)
{
    return p1.x * p2.y - p2.x * p1.y;
}

int main()
{
    f >> n;
    for(int i = 1; i <= n; i++)
         f >> polygon[i];
    polygon[n + 1] = polygon[1];
    long double area = 0;
    for(int i = 1; i <= n; i++)
        area += Area2(polygon[i], polygon[i + 1]);
    if(area < 0)
        area = -area;
    area /= 2;
    g << fixed << setprecision(5) << area;
    f.close();
    g.close();
    return 0;
}