Pagini recente » Cod sursa (job #2439665) | Cod sursa (job #1308417) | Cod sursa (job #1702726) | Cod sursa (job #3213386) | Cod sursa (job #1899392)
#include<fstream>
#include<algorithm>
using namespace std;
ifstream fin("reactivi.in");
ofstream fout("reactivi.out");
int n,tempmin,tempmax,i,nr,j;
struct reactiv
{
int st,dr;
};
reactiv r[8002],frigider[8002];
int nrfrigidere,ok;
bool comp(reactiv a,reactiv b)
{
if(a.st!=b.st)
return a.st<b.st;
return a.dr>b.dr;
}
int main()
{
fin>>n;
for(i=1;i<=n;i++)
fin>>r[i].st>>r[i].dr;
sort(r+1,r+n+1,comp);
// for(i=1;i<=n;i++)
// fout<<r[i].st<<' '<<r[i].dr<<'\n';
for(i=1;i<=n;i++)
{
ok=0;
for(j=1;j<=nrfrigidere;j++)
if((r[i].st>=frigider[j].st && r[i].st<=frigider[j].dr) || (r[i].dr>=frigider[j].st && r[i].dr<=frigider[j].dr))
{
frigider[j].st=max(frigider[j].st,r[i].st);
frigider[j].dr=min(frigider[j].dr,r[i].dr);
ok=1;
}
if(ok==0)
{
nrfrigidere++;
frigider[nrfrigidere].st=r[i].st;
frigider[nrfrigidere].dr=r[i].dr;
}
}
fout<<nrfrigidere;
return 0;
}