Cod sursa(job #1715085)

Utilizator dcutitoiuCutitoiu Adrian-Nicolae dcutitoiu Data 9 iunie 2016 22:33:56
Problema Aria Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.77 kb
#include <iostream>
#include <fstream>
#include <deque>
#include <vector>
#include <list>
#include <iterator>
#include <queue>
#include <algorithm>
#include <tuple>
#include <iomanip>

using namespace std;

ifstream in ("aria.in");
ofstream out ("aria.out");

int main(){

    int N;
    in >> N;

    if(N <= 2)
        out << 0;

    vector<pair<long double, long double>> puncte(N);
    for(auto &punct : puncte){
        in >> punct.first >> punct.second;
    }
    puncte.push_back(puncte[0]);

    long double sum = 0;

    for(int i = 0; i < N; i++){
        sum += puncte[i].first * puncte[i + 1].second - puncte[i + 1].first * puncte[i].second;
    }

    sum /= 2.0;

    out << setprecision(6) << (sum < 0 ? -sum : sum);

    return 0;
}