Cod sursa(job #67558)

Utilizator ZweisteinAdrian VELICU Zweistein Data 25 iunie 2007 11:35:27
Problema Orase Scor 0
Compilator cpp Status done
Runda preONI 2007, Runda Finala, Clasa a 9-a si gimnaziu Marime 0.98 kb
#include <stdio.h>
#define MAXOR 50001
int main (void) {
	FILE * fi = fopen("orase.in","rt");
	FILE * fo = fopen("orase.out","wt");

	long n,m;
	long princ[MAXOR], lat[MAXOR];
	fscanf(fi,"%ld %ld",&m,&n);
	for (long i=1; i<=n; i++) {
		fscanf(fi,"%ld %ld",&princ[i],&lat[i]);
	};
	
	long patr, patri, cerc, cerci, cur;

//	fprintf(stderr,"\ndebug: valori patrate: ");

	patr=0;
	patri=0;
	for (long i=1; i<=n; i++) {
		cur=princ[i]+lat[i];
//		fprintf(stderr,"%d ",cur);
		if (cur>patr) {
			patr=cur;
			patri=i;
		};
	};
//	fprintf(stderr,"\ndebug: valori cercuri: ");
	
	cerc=0;
	cerci=0;
	for (long i=1; i<=n; i++) {
		cur=m-princ[i]+lat[i];
//		fprintf(stderr,"%d ",cur);
		if (cur>cerc) {
			cerc=cur;
			cerci=i;
		};
	};
//	fprintf(stderr,"\ndebug: dist max intre orasele %ld si %ld\n",cerci,patri);

	if (princ[patri]>princ[cerci]) {
		long aux=patri;
		patri=cerci;
		cerci=aux;
	};
//	fprintf(fo,"%ld\n",princ[cerci]-princ[patri]+lat[cerci]+lat[patri]);

	fclose(fi); fclose(fo);
	return 0;
};