Pagini recente » Cod sursa (job #2956662) | Cod sursa (job #2719522) | Cod sursa (job #923349) | Cod sursa (job #2551965) | Cod sursa (job #145160)
Cod sursa(job #145160)
#include <stdio.h>
int a[100005],b[100005],n;
void citire()
{
FILE *f=fopen("heavymetal.in","r");
fscanf(f,"%d",&n);
for(int i=1;i<=n;i++)
fscanf(f,"%d%d",&a[i],&b[i]);
fclose(f);
}
void sort()
{
int capat=n,cpt,i,aux,sortat=0;
while(!sortat)
{
sortat=1,cpt=capat;
for(i=1;i<cpt;i++)
if(b[i]<b[i+1])
{
aux=a[i];a[i]=a[i+1];a[i+1]=aux;
aux=b[i];b[i]=b[i+1];b[i+1]=aux;
capat=i;
sortat=0;
}
else
if(b[i]==b[i+1])
if(a[i]>a[i+1])
{
//aux=a[i];a[i]=a[i+1];a[i+1]=aux;
aux=b[i];b[i]=b[i+1];b[i+1]=aux;
capat=i;
sortat=0;
}
}
}
int lungime()
{
int i=n,timp=a[n],total=0;
for(i=1;i<=n;)
{
total+=b[i]-a[i];
//printf("%d\n",total);
timp=a[i];
while(b[i]>timp && i<=n)
i++;
}
return total;
}
void afis()
{
FILE *f=fopen("heavymetal.out","w");
fprintf(f,"%d",lungime());
fclose(f);
}
int main()
{
citire();
sort();
//for(int i=1;i<=n;i++)
// printf("%d %d\n",a[i],b[i]);
afis();
return 0;
}