Pagini recente » Cod sursa (job #178863) | Cod sursa (job #1869261) | Cod sursa (job #2968377) | Cod sursa (job #157825) | Cod sursa (job #531869)
Cod sursa(job #531869)
#include <fstream.h>
#include <algorithm>
#define DIM 1000002
#define mx(a,b) (a>b?a:b)
long long N ,M ,i , V[DIM] , ok , j, maxim;
using namespace std;
struct pereche {
int L;
int D;
};
pereche P[DIM];
pereche aux;
int cmp(const pereche &a, const pereche &b) {
return a.D<b.D;
}
int main()
{
ifstream f("orase.in");
ofstream g("orase.out");
f>>N>>M;
for(i=1;i<=N;i++){
f>>P[i].D;
f>>P[i].L;
}
sort(P+1, P+N+1, cmp);
// V[i] = suma maxima de la un aoras din spate pana la strada
V[0]=0;
for(i=1;i<=N;i++){
V[i] = P[i].D-P[i-1].D + mx(V[i-1],P[i-1].L);
if (V[i] + P[i].L > maxim)
maxim = V[i] + P[i].L;
/*
ok=0;
if(V[i-1]+D[i]-D[i-1]>=D[i]-D[i-1]+L[i-1]){
V[i]=V[i-1]+D[i]-D[i-1];
}
else{
V[i]=D[i]-D[i-1]+L[i-1];
ok=1;
}
if(V[i]+L[i]>max&&ok==1){
max=V[i];
}
*/
}
g<<maxim;
f.close();
g.close();
return 0;
}