Pagini recente » Cod sursa (job #3365017) | Cod sursa (job #3365007) | Cod sursa (job #3365015) | Cod sursa (job #3365022) | Cod sursa (job #3365013)
#include <bits/stdc++.h>
//#include "test.h"
using namespace std;
vector<pair<long double, long double>> v(100002);
//pair<int,int> v[100002];
int inm(int a, int b);
int main(){
//cout<<sizeof(long);
//cout<<inm(2,3)<<' '<<suma_si_inm(2,5);
ifstream fin("aria.in");
ofstream fout("aria.out");
int n;
fin>>n;
for(int i=1; i<=n; i++)
fin>>v[i].first>>v[i].second;
//facem sa fie sir circular, adica dupa ult elem pune primul
v[n+1].first = v[1].first;
v[n+1].second = v[1].second;
long double aria=0; //aria la poligon
for(int i=1; i<=n; i++) //aici facem ariile la fiecare triunghi ce compun poligonul
{
aria+=v[i].first*v[i+1].second - v[i+1].first*v[i].second;
}
//1/2 cum ambele sunt int da 0, dar daca faci 1.0/2.0 rezulta 0.5 ca sunt double(float)
fout<< fixed<<setprecision(5)<<fabs(aria)*0.5L;
}
int inm(int a, int b){
return a*b;
}