C11CAVE - Hang động

Tác giả: flashmt

Ngôn ngữ: C++

#include <iostream>
#include <cstdio>
using namespace std;

int n,h,a[500500];

int main()
{
	int x;
	cin >> n >> h;
	for (int i=1;i<=n;i++)
	{
		scanf("%d",&x);
		if (i%2) a[1]++, a[x+1]--;
		else a[h-x+1]++;
	}
	
	int ans=n+1,cnt;
	for (int i=1;i<=h;i++)
	{
		a[i]+=a[i-1];
		if (a[i]<ans) ans=a[i], cnt=1;
		else cnt+=(a[i]==ans);
	}
	cout << ans << ' ' << cnt << endl;
}

Download