Cod sursa(job #2026290)

Utilizator OlivianOlivian Dan Cretu Olivian Data 24 septembrie 2017 11:04:57
Problema Xor Max Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.77 kb
#include<cstdio>
using namespace std;
int main()
{
    freopen("xormax.in","r",stdin);
    freopen("xormax.out","w",stdout);
    int v1[100007],v2[100007],v3[100007],n,x,st=0,dr=0,sol=0;
    scanf("%d",&n);
    scanf("%d",&v1[1]);
    v2[1]=v1[1];
    v3[1]=v1[1];
    sol=v1[1];
    st=v2[1];
    dr=v3[1];
    for(int i=2;i<=n;i++)
    {
        scanf("%d",&x);
        if((x^v1[i-1])>v1[i-1])
        {
            v1[i]=x^v1[i-1];
            v2[i]=v2[i-1];
            v3[i]=v3[i-1]+1;

        }
        else
        {
            v1[i]=x;
            v2[i]=i;
            v3[i]=i;
        }
        if(v1[i]>sol)
        {
            sol=v1[i];
            st=v2[i];
            dr=v3[i];
        }
    }
    printf("%d %d %d ",sol,st,dr);
}