Pagini recente » Cod sursa (job #54631) | Cod sursa (job #1112384) | Cod sursa (job #1677708) | Cod sursa (job #74721) | Cod sursa (job #3155715)
#include <iostream>
#include <vector>
#include <iomanip>
using namespace std;
long double cross(pair <long double, long double> a, pair <long double, long double> b) {
return a.first * b.second - a.second * b.first;
}
int main()
{
#ifndef LOCAL
freopen("aria.in", "r", stdin);
freopen("aria.out", "w", stdout);
#endif // LOCAL
int n;
cin >> n;
vector <pair <long double, long double>> v(n);
for (int i = 0; i < n; i++) {
cin >> v[i].first >> v[i].second;
}
v.push_back(v[0]);
long double ans = 0;
for (int i = 0; i < n; i++) {
ans += cross(v[i], v[i + 1]);
}
ans /= 2;
if (ans < 0) {
ans = -ans;
}
cout << fixed << setprecision(5) << ans;
return 0;
}