Cod sursa(job #1809566)

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

using namespace std;

int n;
float x, y;

float getArea(pair<float,float> a, pair<float,float> 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<float,float> > v;
    for (int i = 0; i < n; i ++) {
    		scanf("%f %f", &x, &y);
    		v.push_back(make_pair(x, y));
    } 

    v.push_back(v[0]);

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

    printf("%.5f\n", totalArea);

    return 0;
}