Cod sursa(job #1312664)

Utilizator mihail.jianuJianu Mihail mihail.jianu Data 9 ianuarie 2015 20:28:45
Problema Xor Max Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include<cstdio>
const int N=100000;
int v[N+1];
int n;
int main(){
    freopen("xormax.in","r",stdin);
    freopen("xormax.out","w",stdout);
    scanf("%d",&n);
    for(int i=1;i<=n;i++)
        scanf("%d",&v[i]);
    int maxx=-1,l,r;
    for(int i=1;i<=n;i++){
        int x=0;
        for(int j=i;j<=n;j++){
            x^=v[j];
            if(x==maxx){
                if(j<r){
                    r=j;
                    l=i;
                }
                if(j==r)
                    if(i>l)
                        l=i;
            }
            if(x>maxx){
                maxx=x;
                l=i;
                r=j;
            }
        }
    }
    printf("%d %d %d",maxx,l,r);
    return 0;
}