UOJ Logo

NOI.AC

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#193844#3399. averageX_X10029ms2748kbC++11551b2023-10-14 16:06:222023-10-14 18:38:32

answer

#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int N=1e5+3;
int n,k,ans,l,r=1e9;
LL a[N],sum[N];
bool check(int x){
	LL mn=0;
	for(int i=0;i<=n-k;i++){
		mn=min(mn,sum[i]-(LL)i*x);
		int j=i+k;
		if(sum[j]-(LL)j*x>=mn) return 1;
	}
	return 0;
}
int main()
{
    scanf("%d%d",&n,&k);
    for(int i=1;i<=n;i++) scanf("%lld",&a[i]),sum[i]=sum[i-1]+a[i];
    while(l<=r){
    	int mid=(l+r)>>1;
    	if(check(mid)){
    		ans=mid;
    		l=mid+1;
		}
		else r=mid-1;
	}
	printf("%d",ans);
	return 0;
}

Details

小提示:点击横条可展开更详细的信息

Test #1:

score: 20
Accepted
time: 1ms
memory: 1208kb

input:

1000 100
332109541 265698305 339007233 386487277 65597920 217218907 436378017 221884663 270433433 26...

output:

334924174

result:

ok single line: '334924174'

Test #2:

score: 20
Accepted
time: 0ms
memory: 1204kb

input:

1000 100
108652253 396843081 18739163 168730297 41598432 22132831 155692945 617160601 164753707 8614...

output:

323746083

result:

ok single line: '323746083'

Test #3:

score: 20
Accepted
time: 0ms
memory: 1204kb

input:

1000 100
71158753 11073019 119630785 162780801 25368543 517705 123835636 254874371 4127795 157084999...

output:

338258685

result:

ok single line: '338258685'

Test #4:

score: 20
Accepted
time: 13ms
memory: 2748kb

input:

100000 10
227552529 170886571 513851125 46675201 188079376 255537313 266819605 69661658 214521435 33...

output:

642253260

result:

ok single line: '642253260'

Test #5:

score: 20
Accepted
time: 15ms
memory: 2748kb

input:

100000 100
227552529 170886571 513851125 46675201 188079376 255537313 266819605 69661658 214521435 3...

output:

353627389

result:

ok single line: '353627389'