Pagini recente » Istoria paginii autumn-warmup-2007/solutii/runda-3 | Cod sursa (job #124372) | Cod sursa (job #3138876) | Cod sursa (job #1441345) | Cod sursa (job #3253053)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("aria.in");
ofstream fout("aria.out");
long double arie(pair<long double, long double> a, pair<long double, long double> b){
return (a.first-b.first)*(a.second+b.second);
}
int main(){
int n;
fin>>n;
vector<pair<long double,long double> > v(n);
for(int i=0; i<n; i++){
fin>>v[i].first>>v[i].second;
}
long double area=0;
for(int i=0; i<n-1; i++){
area+=arie(v[i], v[i+1]);
}
area+=arie(v[n-1], v[0]);
if(area<0){
area=-area;
}
fout<<setprecision(6)<<fixed;
fout<<area/2;
}