Cod sursa(job #3348745)

Utilizator EricDimiCismaru Eric-Dimitrie EricDimi Data 23 martie 2026 20:06:42
Problema Aria Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.85 kb
#include <fstream>
#include <iomanip>

using namespace std;

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

const int NMAX = 100000;

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

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

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