Cod sursa(job #917299)
#include <iostream>
using namespace std;
struct punct
{
double x;
double y;
}puncte[100005];
double arie(double x1,double y1,double x2,double y2)
{
return ((x1*y2)-(x2*y1));
}
int main()
{
// ifstream fin("aria.in");
// ofstream fout("aria.out");
double a=0;
int n,i;
double x1,y1;
cin>>n;
cin>>x1>>y1;
puncte[0].x=x1;
puncte[0].y=y1;
for(i=1;i<n;i++)
{
cin>>x1>>y1;
puncte[i].x=x1;
puncte[i].y=y1;
a+=(arie(puncte[i-1].x,puncte[i-1].y,puncte[i].x,puncte[i].y));
}
a+=(arie(puncte[n-1].x,puncte[n-1].y,puncte[0].x,puncte[0].y));
cout<<a/2<<'\n';
//fin.close();
//fout.close();
system("PAUSE");
return 0;
}