Cod sursa(job #1809570)

Utilizator delia_ioanaCeapa Delia Ioana delia_ioana Data 19 noiembrie 2016 00:55:46
Problema Aria Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.79 kb
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <vector>
#include <algorithm>
#include <math.h>
#include <climits>

using namespace std;

int n;
double x, y;

double getArea(pair<double,double> a, pair<double,double> b) {
	return (a.first * b.second - a.second * b.first) / 2;
}

int main()
{
    freopen("aria.in", "r", stdin);
    freopen("aria.out", "w", stdout);
    scanf("%d", &n);

    if (n < 3) {
    	printf("0\n");
    	return 0;
    }

    vector<pair<double,double> > v;
    for (int i = 0; i < n; i ++) {
    		scanf("%lf %lf", &x, &y);
    		v.push_back(make_pair(x, y));
    } 

    v.push_back(v[0]);

    double totalArea = 0;
    for (int i = 1; i < v.size(); i ++) {
    	totalArea += getArea(v[i - 1], v[i]);
    }

    printf("%.6lf\n", totalArea);

    return 0;
}