Pagini recente » Cod sursa (job #2546619) | Cod sursa (job #1222902) | Cod sursa (job #1060617) | Cod sursa (job #955550) | Cod sursa (job #68200)
Cod sursa(job #68200)
#include <stdio.h>
#include <stdlib.h>
#define NRORASE 100
struct oras {
long princ;
long lat;
} ora[NRORASE];
int compor (const void * a, const void * b) {
const oras * x = (oras *)a;
const oras * y = (oras *)b;
return (x->princ-y->princ);
};
int main (void) {
FILE * fi = fopen("orase.in","rt");
FILE * fo = fopen("orase.out","wt");
long m,n;
fscanf(fi,"%ld %ld",&m,&n);
for (long i=1; i<=n; i++) {
fscanf(fi,"%ld %ld",&ora[i].princ,&ora[i].lat);
};
qsort(&ora[1],n,sizeof(oras),compor);
long max_=0, maxmare=0;
max_=ora[1].princ + ora[1].lat;
for (long i=2; i<=n; i++) {
max_+=(ora[i].princ-ora[i-1].princ);
if (max_+ora[i].lat>maxmare) {
maxmare=ora[i].lat+max_;
};
if (max_<ora[i].lat) {
max_=ora[i].lat;
};
};
fprintf(fo,"%ld\n",maxmare);
fclose(fi); fclose(fo);
return 0;
};