Cod sursa(job #1205523)

Utilizator kaesarioDumi Loghin kaesario Data 7 iulie 2014 09:58:18
Problema Xor Max Scor 10
Compilator c Status done
Runda Arhiva de probleme Marime 0.55 kb
#include <stdio.h>

#define DIM	100001
#define FIN	"xormax.in"
#define FOUT	"xormax.out"

int main() {
	int n, i, si, sf, start, stop;
	unsigned int x, vx, v, max;

	FILE* f = fopen(FIN, "rt");
	fscanf(f, "%d", &n);
	v = 0;
	max = 0;
	si = 0;
	for (i=0; i<n; i++) {
		fscanf(f, "%d" , &x);
		vx = x ^ v;
		if (vx <= x) {
			v = x;
			si = sf = i;
		}
		else {
			v = vx;
			sf = i;
		}
		if (max < vx) {
			max = vx;
			start = si;
			stop = sf;
		}
	}
	fclose(f);

	f = fopen(FOUT, "wt");
	fprintf(f, "%d %d %d\n", max, start+1, stop+1);
	fclose(f);
	
	return 0;
}