問題
考察
たこやきができる時間とお客さんが来る時間の差分が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;
}
}