Pagini recente » preoji/clasament/10 | Cod sursa (job #2259810) | Cod sursa (job #196748) | Cod sursa (job #3164322) | Cod sursa (job #3271096)
//https://www.infoarena.ro/problema/aria
#include <iostream>
#include <iomanip>
#include <vector>
using namespace std;
struct point{
long double x, y;
};
int n;
long double modul(long double x){
return x>0.0 ? x : -x;
}
vector<point> points;
int main(){
freopen("aria.in", "r", stdin);
freopen("aria.out", "w", stdout);
cin>>n;
for (int i=0; i<n; ++i){
points.push_back({0, 0});
cin>>points.back().x>>points.back().y;
}
points.push_back(points[0]);
long double aria=0.0;
for (int i=0; i<points.size()-1; ++i){
aria+=points[i].x*points[i+1].y-points[i+1].x*points[i].y;
}
cout<<fixed<<modul(aria)/2.0;
return 0;
}