Cod sursa(job #1262968)
Utilizator | Data | 13 noiembrie 2014 19:25:16 | |
---|---|---|---|
Problema | Orase | Scor | 10 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.59 kb |
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("orase.in");
ofstream fout("orase.out");
int n,i,m,maxim,nr,v[50010],f[50010];
int main(){
fin>>m>>n;
for(i=1;i<=n;i++){
fin>>v[i]>>f[i];
}
sort(v+1,v+n+1);
sort(f+1,f+n+1);
maxim=f[1];
for(i=2;i<=n;i++){
if(v[i]-v[i-1]+f[i]+maxim>nr){
nr=v[i]-v[i-1]+f[i]+maxim;
}
if(f[i]<maxim+v[i]-v[i-1]){
maxim=maxim+v[i]-v[i-1];
}
else{
maxim=f[i];
}
}
fout<<nr<<"\n";
return 0;
}