Cod sursa(job #906125)

Utilizator AndreiRSStatescu Andrei Rares AndreiRS Data 6 martie 2013 15:27:23
Problema Aria Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <stdio.h>
using namespace std;
 
const int dim = 100005;
int N;
double X[dim], Y[dim], a = 0;

double adet (double x2, double y2, double x3, double y3)
{
    return - x3 * y2 + x2 * y3;
}
 
double absd (double a)
{
    if (a < 0) return -a;
    return a;
}

int main ()
{
    freopen ("aria.in", "r", stdin);
    freopen ("aria.out", "w", stdout);
     
    scanf ("%d", &N);
    scanf ("%lf%lf", &X[1], &Y[1]);
    for (int i = 2; i <= N; i++)
    {
        scanf ("%lf%lf", &X[i], &Y[i]);
        a += adet (X[i-1], Y[i-1], X[i], Y[i]);
    }
    a += adet (X[N], Y[N], X[1], Y[1]);
    printf ("%lf\n", absd (a) / 2);
     
    return 0;
}