Pagini recente » Cod sursa (job #2101420) | Cod sursa (job #400620) | Cod sursa (job #2662014) | Cod sursa (job #380155) | Cod sursa (job #344499)
Cod sursa(job #344499)
#include<stdio.h>
using namespace std;
#define dim 100002
long long a[dim], b[dim];
void quicksort(int inceput, int sfarsit)
{
long int i, j, temp, aux;
i=inceput;
j=sfarsit;
temp=b[(i+j)/2];
do
{
while(b[i]<temp) i++;
while(b[j]>temp) j--;
if(i<j)
{
aux=b[i]; b[i]=b[j]; b[j]=aux;
aux=a[i]; a[i]=a[j]; a[j]=aux;
}
if(i<=j)
{
i++;j--;
}
}while(i<=j);
if(inceput<j) quicksort(inceput,j);
if(i<sfarsit) quicksort(i,sfarsit);
}
int main()
{
long int i,n,x;
long long ore=0;
FILE *f=fopen("heavymetal.in","r"), *g=fopen("heavymetal.out","w");
fscanf(f,"%ld",&n);
for(i=1;i<=n;i++)
fscanf(f,"%lld%lld",&a[i],&b[i]);
quicksort(1,n);
ore=b[n]-a[n];
x=a[n];
for(i=n-1;i>=1;i--)
if(b[i]<=x)
{ore+=b[i]-a[i];x=a[i];}
fprintf(g,"%lld\n",ore);
fclose(f);
fclose(g);
return 0;}