Cod sursa(job #1801786)

Utilizator cosmin.pascaruPascaru Cosmin cosmin.pascaru Data 9 noiembrie 2016 16:57:05
Problema Aria Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
#include <iostream>
#include <fstream>
#include <iomanip>

using namespace std;

struct Point{
    double x, y;
};

double area2Sign(const Point& p1, const Point& p2, const Point& p3){
    return (p1.x - p3.x) * (p2.y - p3.y) - (p1.y - p3.y) * (p2.x - p3.x);
}
int main()
{
    ifstream cin("aria.in");
    ofstream cout("aria.out");

    #define NMAX 100005

    int n;
    Point points[NMAX];
    cin >> n;

    for (int i = 0; i < n; ++i){
        cin >> points[i].x >> points[i].y;
    }

    double area = 0;

    points[n] = points[0];
    for (int i = 1; i < n; ++i){
        area += area2Sign(points[0], points[i], points[i + 1]);
    }

    cout << fixed << setprecision(5) << area / 2 << '\n';

    return 0;
}