Pagini recente » Cod sursa (job #1408814) | Cod sursa (job #482248) | Cod sursa (job #542295) | Cod sursa (job #2924468) | Cod sursa (job #573051)
Cod sursa(job #573051)
# include <fstream.h>
#include <algorithm>
#include<stdio.h>
using namespace std;
ifstream f("poligon.in");
ofstream g("poligon.out");
struct punct
{
float x,y,p;
}v[120005],w[120005],kk[120005];
int n,i,prim,k,M;
void citprime()
{
f>>n>>M;
for(i=1;i<=n;i++)
f>>v[i].x>>v[i].y;
for(i=1;i<=M;i++)
f>>kk[i].x>>kk[i].y;
}
void punct_inceput()
{
prim=1;
for(i=2;i<=n;i++)
if(v[i].x<v[prim].x||v[i].x==v[prim].x&&v[i].y<v[prim].y)
prim=i;
}
void pante()
{
for(i=1;i<=n;i++)
if(i!=prim)
v[i].p=(v[i].y-v[prim].y)/(v[i].x-v[prim].x);
}
void pante_doi()
{
for(i=1;i<=M;i++)
kk[i].p=(kk[i].y-kk[prim].y)/(kk[i].x-kk[prim].x);
}
int main()
{
citprime();
punct_inceput();
pante();
pante_doi();
int mm=M;
int oki;
while(mm)
{
oki=0;
for(i=1;i<=n;i++)
if(v[i].p<=kk[mm].p)
oki=1;
if(oki)M--;
mm--;
}
g<<M<<'\n';
f.close();
g.close();
return 0;
}