help!!!为何70分
查看原帖
help!!!为何70分
905885
Him_shu楼主2024/4/19 21:07
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define N 2000005
#define inf 1e14
#define mod 1000000009
int n,m;
int dp[N][20];
signed main(){
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		cin>>dp[i][0];
	}
	for(int j=1;(1<<j)<=n;j++){
		for(int i=1;i+(1<<j)-1<=n;i++){
			dp[i][j]=min(dp[i][j-1],dp[i+(1<<(j-1))][j-1]);
		}
	}
	cout<<"0\n";
	for(int b=1;b<n;b++){
		int a=max(b-m+1,1ll);
	    int k=log2(b-a+1);
	    cout<<min(dp[a][k],dp[b-(1<<k)+1][k])<<"\n";
	}
    return 0;
}

为何70分

2024/4/19 21:07
加载中...