Pagini recente » Cod sursa (job #343129) | Cod sursa (job #2148277) | Cod sursa (job #1268967) | Cod sursa (job #2833434) | Cod sursa (job #198790)
Cod sursa(job #198790)
#include<iostream.h>
#include<fstream.h>
#include<math.h>
ifstream f("gropi.in");
ofstream g("gropi.out");
unsigned long long int C,N,s,M;
int i0,i1,j0,j1,ip,gi[1000],gj[1000],i,j,n,x;
void main()
{
f>>C;
f>>N;
for(i=1;i<=N;i++)
f>>gi[i]>>gj[i];
//ordonare crescatoare gropi
for(i=1;i<N;i++)
for(j=i+1;j<=N;j++)
if(gj[i]>gj[j]) {
x=gj[i];gj[i]=gj[j];gj[j]=x;
x=gi[i];gi[i]=gi[j];gi[j]=x;}
f>>M;
for(i=1;i<=M;i++)
{
f>>i0>>j0>>i1>>j1;
if(j0>j1) {x=j0;j0=j1;j1=x;x=i0;i0=i1;i1=x;}
ip=i0;s=j1-j0+1;j=1;
while(gj[j]<j0)
j++;
while(gj[j]<=j1)
{
if(ip==gi[j]) {s++;ip=2-ip+1;}
j++;
}
if(ip!=i1) s++;
g<<s<<endl;
}
}