Cod sursa(job #1204552)

Utilizator pavlov.ionPavlov Ion pavlov.ion Data 3 iulie 2014 12:07:00
Problema Orase Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.93 kb
#include<fstream>
using namespace std;
#define MAXN 1000002
int D[MAXN],L[MAXN],M,N;
void QUICKSORT(int inf,int sup)
{
  int x,i,j,t;
  i=inf; 
  j=sup;
  x=D[(i+j)/2];
  do{
    while ((i<sup)&&(D[i]<x)) i++;
    while ((j>inf)&&(D[j]>x)) j--;
    if (i<=j)
    {   
      t=D[i];
      D[i]=D[j]; 
      D[j]=t;
      t=L[i];
      L[i]=L[j];
      L[j]=t;
      i++; 
      j--;
    }
  }while (i<=j);
  if (inf<j) QUICKSORT(inf,j);
  if (i<sup) QUICKSORT(i,sup);
}
ifstream cin("orase.in");
ofstream cout("orase.out");

  int main() {
  	  int i,max1=0,max2=0;  
  	cin>>M>>N;
	 for(i=1;i<=N;i++)
	        cin>>D[i]>>L[i];
	 QUICKSORT(1,N);
   	for(i=2;i<=N;i++) {
			if(max1<L[i-1]-D[i-1]) 
			              max1=L[i-1]-D[i-1];
			if(max2<L[i]+D[i])
			              max2=L[i]+D[i];
}
   cout<<max1+max2;					  			  		  
    cin.close();
	cout.close();	    				       
   return 0;
}