Cod sursa(job #2762575)

Utilizator cristi_macoveiMacovei Cristian cristi_macovei Data 8 iulie 2021 14:59:22
Problema Aria Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.73 kb
#include <iostream>
#include <fstream>
#include <iomanip>
#include <cmath>

const int NMAX = 1e5;
const double EPS = 1e-5;

class Point {
public:
  long double x, y;

  Point() = default;

  Point(long double x, long double y):
                  x(x), y(y) {};
};

inline long double ccw(Point A, Point B) {
  return A.x * B.y - A.y * B.x;
}

Point a[1 + NMAX];

int main() {
  std::ifstream in("aria.in");
  std::ofstream out("aria.out");

  int n;
  in >> n;

  for (int i = 1; i <= n; ++i)
    in >> a[i].x >> a[i].y;

  long double area = 0;
  for (int i = 1; i < n; ++i)
    area += ccw(a[i], a[i + 1]);
  area += ccw(a[n], a[1]);

  area = std::fabs(area / 2);

  out << std::fixed << std::setprecision(5) << area << '\n';

  return 0;
}