Cod sursa(job #1795079)

Utilizator moise_alexandruMoise Alexandru moise_alexandru Data 1 noiembrie 2016 23:06:23
Problema Aria Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("aria.in");
ofstream out("aria.out");
const int maxn = 100005;
pair <double, double> v[maxn];

inline double mod(double x)
{
    if(x >= 0)
        return x;
    return -x;
}

inline double det(double x1, double y1, double x2, double y2, double x3, double y3)
{
    double x = (x2 - x1) * (y3 - y1) - (x3 - x1) * (y2 - y1);
    return mod(x / 2);
}

int main()
{
    int n;
    in >> n;
    for(int i = 1; i <= n; i++)
        in >> v[i].first >> v[i].second;
    v[n + 1] = v[1];
    double sum = 0;
    for(int i = 1; i <= n; i++)
        sum += det(v[i].first, v[i].second, v[i + 1].first, v[i + 1].second, 0, 0);
    out << sum << "\n";
    return 0;
}