ぐってぃのプログラミング日記

競技プログラミングやIT関係の記事を書いていくよ

C - おいしいたこ焼きの売り方

問題

atcoder.jp

考察

たこやきができる時間とお客さんが来る時間の差分が0秒以上T秒以内のペアを作ってあげればおーけー。
それぞれ対応するペアを実装するのをqueueで実装した。
quequを二つ用意して、0秒以上T秒以内だったらpopして、お客のqueueが空になっていれば、yesを出力。

実装

#include <iostream>
#include <queue>

using namespace std;

int main()
{
	int t, n, m;
	queue<int> a;
	queue<int> b;
	cin >> t >> n;
	for (int i = 0; i < n; i++)
	{
		int x;
		cin >> x;
		a.push(x);
	}
	cin >> m;
	for (int i = 0; i < m; i++)
	{
		int x;
		cin >> x;
		b.push(x);
	}
        //たこやきの数よりお客が多ければそもそもアウト
	if (n < m) {
		cout << "no" << endl;
		return 0;
	}

	for (int i = 0; i < n; i++)
	{
		if (b.front() - a.front() <= t && b.front() - a.front() >= 0) {
			b.pop();
		}
		a.pop();
	}

	if (b.empty()) {
		cout << "yes" << endl;
	}
	else {
		cout << "no" << endl;

	}

}