Pagini recente » Cod sursa (job #2747376) | Cod sursa (job #2496342) | Cod sursa (job #829768) | Cod sursa (job #1065384) | Cod sursa (job #1168811)
#include <cstdio>
using namespace std;
int n,a,maxi,start,stop,dp[10001][10001],i,j;
int main()
{
freopen("xormax.in","r",stdin);
freopen("xormax.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d",&a);
dp[i][i]=a;
if(maxi<a)
{
maxi=a;
start=stop=i;
}
}
for(i=1;i<n;i++)
for(j=i+1;j<=n;j++)
{
dp[i][j]=dp[i][j-1]^dp[j][j];
if(dp[i][j]==maxi)
{
if(stop==j)
if(stop-start>stop-i)
start=i;
if(stop!=j)
stop=j<stop?j:stop;
}
if(dp[i][j]>maxi)
{
maxi=dp[i][j];
start=i;
stop=j;
}
}
printf("%d %d %d\n",maxi,start,stop);
return 0;
}