Cod sursa(job #1347930)

Utilizator alexandra_udristoiuUdristoiu Alexandra Maria alexandra_udristoiu Data 19 februarie 2015 13:03:58
Problema Aria Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
#include<fstream>
#include<iomanip>
using namespace std;
int n, i;
double d, a;
pair<double, double> v[100001];
ifstream fin("aria.in");
ofstream fout("aria.out");
double det(double X1, double Y1, double X2, double Y2, double X3, double Y3){
    return (X3 - X1) * (Y2 - Y1) - (X2 - X1) * (Y3 - Y1);
}
int main(){
    fin>> n;
    for(i = 1; i <= n; i++){
        fin>> v[i].first >> v[i].second;
    }
    for(i = 1; i < n; i++){
        d = det(0, 0, v[i].first, v[i].second, v[i+1].first, v[i+1].second);
        a += d;
    }
    d = det(0, 0, v[n].first, v[n].second, v[1].first, v[1].second);
    a += d;
    a /= 2;
    if(a < 0){
        a = -a;
    }
    //fout<<a <<"\n";
    fout<<setprecision(8)<<fixed<< a <<"\n";
    return 0;
}