Cod sursa(job #738642)

Utilizator mirceadinoMircea Popoveniuc mirceadino Data 21 aprilie 2012 11:27:44
Problema Xor Max Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include<cstdio>
int i,n,max=0,last,start,stop,startmax,stopmax,a;
int main()
{
    freopen("xormax.in","r",stdin);
    freopen("xormax.out","w",stdout);
    scanf("%d",&n); start=1; stop=1;
    for(i=1;i<=n;i++)
    {
        scanf("%d",&a);
        if((last^a)>=a)
        {
            last=(last^a);
            stop=i;
        }
        else
        {
            last=a;
            start=i; stop=i;
        }
        if((last>max) || (((stop-start)<(stopmax-startmax))&&(last==max)&&(stop<stopmax)))
        {
            max=last; startmax=start; stopmax=stop;
        }
    }
    printf("%d %d %d\n",max,startmax,stopmax);
    return 0;
}