Cod sursa(job #1771785)
Utilizator | Males Sebastian Senibelan | Data | 5 octombrie 2016 23:45:56 |
---|---|---|---|
Problema | Aria | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.49 kb |
#include <fstream>
#include <iomanip>
using namespace std;
struct Punct{
double x, y;
};
int n;
Punct v[100005];
ifstream fin("aria.in");
ofstream fout("aria.out");
void Read(){
fin >> n;
for(int i = 1; i <= n; ++i)
fin >> v[i].x >> v[i].y;
}
void Solve(){
double s = 0;
v[n + 1] = v[1];
for(int i = 1; i <= n; ++i){
s += v[i].x * v[i + 1].y - v[i + 1].x * v[i].y;
}
s /= 2;
fout << fixed << setprecision(6) << s << "\n";
}
int main(){
Read();
Solve();
return 0;
}