Pagini recente » Cod sursa (job #2231869) | Cod sursa (job #1810671) | Cod sursa (job #1746506) | Cod sursa (job #931900) | Cod sursa (job #2819861)
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("orase.in");
ofstream fout ("orase.out");
const int DIM = 50005;
struct oras{
int d;
int l;
} v[DIM];
inline bool cmp(const oras &a, const oras &b){
return a.d < b.d;
}
deque <int> q;
int n, m, sol;
int main (){
fin>>m>>n;
for(int i=1; i<=n; i++)
fin>>v[i].d>>v[i].l;
sort(v+1, v+n+1, cmp);
for(int i=1; i<=n; i++){
if(i != 1)
sol = max(sol, v[i].l + v[q.front()].l + (v[i].d - v[q.front()].d));
while(!q.empty() && v[i].l > v[ q.back() ].l + (v[i].d - v[q.back()].d))
q.pop_back();
q.push_back(i);
}
fout<<sol;
return 0;
}