AtCoder ABC161 E - Yutori

在这里插入图片描述
在这里插入图片描述

题意:

n n 天要求工作 k k 天,且工作一天要休息 c c 天。按顺序输出必须要工作的天数下标。

贪心。正序遍历贪心求最小位置记录在数组 a a 中,倒序遍历贪心求最大位置记录在数组 b b 中。

AC代码:

const int N = 2e5 + 5;
int a[N], b[N];
int n, k, c;
int pos;
string s;
int main()
{
	sddd(n, k, c);
	cin >> s;
	rep(i, 0, n - 1)
	{
		if (s[i] == 'o')
		{
			a[pos++] = i;
			i += c;
		}
	}
	pos = k - 1;
	for (int i = n - 1; i >= 0 && pos >= 0; i--)
	{
		if (s[i] == 'o')
		{
			b[pos--] = i;
			i -= c;
		}
	}
	rep(i, 0, k - 1)
	{
		if (a[i] == b[i])
			pd(a[i] + 1);
	}
	return 0;
}

发布了786 篇原创文章 · 获赞 460 · 访问量 24万+

猜你喜欢

转载自blog.csdn.net/qq_43627087/article/details/105364076
今日推荐