1 条题解

  • 1
    @ 2024-12-19 19:35:18
    #include<bits/stdc++.h>
    using namespace std;
    #define int long long
    const int N=1e6+10,M=1e9+10;
    int a[N],s[N];
    signed main()
    {
     int n;
     cin>>n;
     for(int i=1;i<=n;i++)
     {
     	cin>>a[i];
     	s[i]=s[i-1]^a[i];
     } 
     int ma=M;
     for(int i=1;i<=30;i++)
     {
     	for(int j=1;j<=30;j++)
     	{
    	 	for(int k=1;k<=n;k++)
    	 	{
    	 		if(k-1+i>n-1)continue;
    	 		if(k+i-1+j>n)continue;
    		   if((int)(s[k-1]^s[k-1+i])>(int)(s[k+i-1]^s[k+i-1+j])&&ma>i-1+j-1)
    		   {
    		     ma=i-1+j-1;
    //		     cout<<i<<" "<<j<<'\n';
    //		     cout<<(int)(s[k-1]^s[k-1+i])<<" "<<(int)(s[k+i-1]^s[k+i-1+j])<<'\n';
    		   }	
    		}
    	}
     }
     if(ma==M)cout<<-1;
     else cout<<ma;
    }//
    
    • 1

    信息

    ID
    1098
    时间
    2000ms
    内存
    256MiB
    难度
    9
    标签
    递交数
    88
    已通过
    7
    上传者