Cod sursa(job #2430865)
Utilizator | Mihailescu Vlad Tiberiu VladTiberiu | Data | 16 iunie 2019 23:35:06 |
---|---|---|---|
Problema | Aria | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.54 kb |
#include <bits/stdc++.h>
using namespace std;
const int NMax = 100005;
struct Point{
long double x, y;
};
int n;
long double ans;
Point a[NMax];
long double CrossProduct(Point a, Point b) {
return (a.x * b.y - a.y * b.x);
}
int main(){
cin >> n;
for(int i = 0; i < n; ++i){
cin >> a[i].x >> a[i].y;
if(i >= 1)
ans += CrossProduct(a[i - 1], a[i]) / 2.0;
}
ans += CrossProduct(a[n - 1], a[0]) / 2.0;
cout << fixed << setprecision(7) << ans << '\n';
return 0;
}