Cod sursa(job #906145)

Utilizator AndreiRSStatescu Andrei Rares AndreiRS Data 6 martie 2013 15:42:11
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", absd (a) / 2);
      
    return 0;
}