Pagini recente » Istoria paginii rotatie-lexicografic-minima | Cod sursa (job #50743) | Cod sursa (job #729418) | simulare.wellspecial2 | Cod sursa (job #1775337)
#include <stdio.h>
#include <stdlib.h>
int v1[1000000], v2[1000000];
int main(){
FILE *fin, *fout;
int m, n, i, d, l, drum, drummax;
fin = fopen ( "orase.in", "r");
fout = fopen ( "orase.out", "w");
fscanf( fin, "%d%d", &m, &n );
for ( i = 0; i < n; i++){
fscanf ( fin, "%d%d", &d, &l);
if ( v1[d] == 0){
v1[d] = l;
}
else {
v2[d] = v1[d];
v1[d] = l;
}
}
drum = 0;
drummax = 0;
for (i = 0; i <= m; i++){
if (v1[i] + drum > drummax)
drummax = v1[i] + drum;
if (v1[i] + v2[i] > drummax)
drummax = v1[i] + v2[i];
if (drum < v1[i])
drum = v1[i];
drum ++;
}
fprintf(fout, "%d", drummax);
fclose(fin);
fclose(fout);
return 0;
}