Pagini recente » Cod sursa (job #3200973) | Cod sursa (job #1028598) | Cod sursa (job #2716537) | Cod sursa (job #2857509) | Cod sursa (job #531859)
Cod sursa(job #531859)
#include <fstream.h>
#define DIM 1000002
#define mx(a,b) (a>b?a:b)
long long N ,M ,i , V[DIM] , ok , j, maxim;
struct pereche {
int L;
int D;
};
pereche P[DIM];
pereche aux;
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;
}
for(i=1;i<N;i++){
for(j=i+1;j<=N;j++){
if(P[i].D>P[j].D){
aux=P[i];
P[i] = P[j];
P[j] = aux;
}
}
}
// 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;
}