2 条题解

  • 3
    @ 2024-12-19 20:20:57
    #include<bits/stdc++.h>
    using namespace std;
    #define int long long
    const int N=3e5+10;
    int t,n,x,a[N],s[N],sum1,sum2,c;
    signed main()
    {
    	ios::sync_with_stdio(false);
    	cin.tie(0);cout.tie(0);
    	cin>>t;
    	while(t--)
    	{
    		sum1=1e18,sum2=0;
    		cin>>n>>x;
    		for(int i=1;i<=n;i++)
    		{
    			cin>>a[i];
    			a[i]=abs(a[i]-x);
    			s[i]=s[i-1]+a[i];
    		}
    		for(int i=1;i<=n;i++)
    		{
    			for(int j=i*2,k=3;j<=n;j=i*k,k++)
    			{
    				if(j>n)break;
    				c=(s[j]-s[i-1])*(n-(j-i));
    				sum1=min(sum1,c);sum2=max(sum2,c);
    			}
    		}
    		cout<<sum1<<" "<<sum2<<endl;
    	}
    }
    
    • 2
      @ 2024-12-19 19:27:52
      #include<bits/stdc++.h>
      using namespace std;
      #define int long long
      const int N=1e6+10,M=1e18+10;
      int a[N],s[N];
      signed main()
      {
        int t;
        cin>>t;
        while(t--)
        {
        	int n,x;
        	cin>>n>>x;
        	for(int i=1;i<=n;i++)
        	{
      	  	cin>>a[i];
      	  	a[i]=abs(a[i]-x);
      	  	s[i]=s[i-1]+a[i];
      	}
      	int ma=0,mi=M;
      	for(int i=1;2*i<=n;i++)
      	{
      		for(int j=2;j*i<=n;j++)
      		{
      			int xx=(s[j*i]-s[i-1])*(n-j*i+i);
      			ma=max(ma,xx);
      			mi=min(mi,xx);
      		}
      	}
      	cout<<mi<<" "<<ma<<'\n';
        }
      }
      
      • 1

      信息

      ID
      1100
      时间
      1000ms
      内存
      256MiB
      难度
      8
      标签
      (无)
      递交数
      187
      已通过
      29
      上传者