求助,为什么用min是错的
查看原帖
求助,为什么用min是错的
422354
nddyfw楼主2020/12/11 18:50

没想明白,我是枚举跳跃的点,然后直接求走过距离的最小值

#include <bits/stdc++.h>
using namespace std;
#define ll long long
const int N = 1000010;
ll road[N],sum[N],mins = 0xfffffff;
int main()
{
//	freopen("in.txt","r",stdin) ;
	int n,k;//k的范围不定 
	scanf("%d%d",&n,&k);
	for(int i=1;i<=n-1;i++){
		scanf("%lld",&road[i]);
		sum[i] = sum[i-1]+road[i];
	}
	if(k>=n-1) { printf("0\n"); return 0;} 
	for(int i=1;i<=n-k;i++){//枚举使用传送机的点 
		mins = min(sum[i-1]+sum[n-1]-sum[i+k-1],mins);
	}
	printf("%lld\n",mins);
	return 0;
} 
2020/12/11 18:50
加载中...