Cod sursa(job #765655)

Utilizator test666013Testez test666013 Data 8 iulie 2012 18:32:37
Problema Xor Max Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <cstdio>
#include <algorithm>
using namespace std;
#define MAX 100001

int a[MAX],sum[MAX],n;

void rezolva(){
    for(int i=1;i<=n;i++)sum[i] = sum[i-1] ^ a[i];

    int best = -1, l_idx, r_idx, x;
    for(int i=1;i<=n;i++)
    {
        for(int j=i;j>0;j--)
        {
            x = sum[j-1] ^ sum[i];
            if(x > best)
            {
                best = x;
                l_idx = j;
                r_idx = i;
            }
        }
    }
    printf("%d %d %d\n",best,l_idx,r_idx);
}

int main(){
    freopen("xormax.in","r",stdin);
    freopen("xormax.out","w",stdout);
        scanf("%d",&n);
        for(int i=1;i<=n;i++)scanf("%d",&a[i]);

    rezolva();
    return 0;
}