Cod sursa(job #208457)

Utilizator emilian.mironEmilian Miron emilian.miron Data 16 septembrie 2008 15:58:11
Problema Xor Max Scor 15
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <cstdio>

#define maxn 1024*128

int N;
int A[maxn];

int main(void)
{
    int i, j;

#ifndef CACAMACA
    freopen ("xormax.in", "rt", stdin);
    freopen ("xormax.out", "wt", stdout);
#endif

    scanf ("%d", &N);

    for (i = 0; i < N; i++)
        scanf ("%d", A + i);

    int best_y = -1;
    int best_start = 0, best_end = -1;

    for (i = 0; i < N; i++) {
        int y = 0;
        for (j = i; j < N; j++) {
            y ^= A[j];

            if (y > best_y || (y == best_y && i < best_start) || 
                (y == best_y && i == best_start && j < best_end))
            {
                best_y = y;
                best_start = i;
                best_end = j;
            }
                
        }
    }

    printf ("%d %d %d\n", best_y, best_start + 1, best_end + 1);

    return 0;
}