Cod sursa(job #2411594)

Utilizator IulianOleniucIulian Oleniuc IulianOleniuc Data 20 aprilie 2019 21:33:22
Problema Aria Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.66 kb
#include <iomanip>
#include <fstream>

using std::fixed;
using std::setprecision;

std::ifstream fin("aria.in");
std::ofstream fout("aria.out");

struct Point {
    double x, y;
};

int n;
Point p[100000];

inline double cross(Point p0, Point p1, Point p2) {
    return (p1.x - p0.x) * (p2.y - p0.y) - (p2.x - p0.x) * (p1.y - p0.y);
}

int main() {
    fin >> n;
    for (int i = 0; i < n; i++)
        fin >> p[i].x >> p[i].y;

    double area = 0;
    for (int i = 2; i < n; i++)
        area += cross(p[0], p[i - 1], p[i]);
    area /= 2;

    fout << fixed << setprecision(5);
    fout << area << '\n';

    fout.close();
    return 0;
}