求助 这题的时间复杂度怎么求
查看原帖
求助 这题的时间复杂度怎么求
757864
ruye楼主2023/11/18 18:09
	cin >> n;
    for(int i = 1; i <= n; i ++ ){
        cin >> s[i];
        s[i] += s[i - 1];
    } 

    int ans = 0;
    for(int i = 1; i <= n; i ++ ){
        if(n % i == 0){
            int maxn = 0, minn = INF;
            for(int j = 1; j <= n; j += i){
                maxn = max(maxn, s[j + i - 1] - s[j - 1]);
                minn = min(minn, s[j + i - 1] - s[j - 1]);
            }
            ans = max(ans, maxn - minn);
        }
    }

代码如上

2023/11/18 18:09
加载中...