Cod sursa(job #596109)

Utilizator Smaug-Andrei C. Smaug- Data 15 iunie 2011 22:45:41
Problema Orase Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <cstdio>
#include <utility>
#include <algorithm>
using namespace std;

#define MAXN 50010

int main(){

  freopen("orase.in", "r", stdin);
  freopen("orase.out", "w", stdout);

  int N, M, i, maxr, maxp, maxd;
  pair<int,int> S[MAXN];

  scanf("%d%d", &M, &N);
  for(i=1; i<=N; i++)
    scanf("%d%d", &S[i].first, &S[i].second);

  sort(S+1, S+N+1);

  maxd=0;

  maxp=S[1].first; maxr=S[1].second; 
  for(i=2; i<=N; i++){
    maxd=max(maxd, S[i].second+maxr+S[i].first-maxp);
    
    if(S[i].second > maxr+S[i].first-maxp)
      maxr=S[i].second, maxp=S[i].first;
  }

  printf("%d\n", maxd);

  return 0;

}