AcWing 2816. 判断子序列
原题链接
简单
作者:
m_math
,
2024-04-08 17:45:37
,
所有人可见
,
阅读 6
我的屎山
#include <iostream>
using namespace std;
const int N = 100010;
int n,m;
int a[N],b[N];
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
cin >> n >> m;
for(int i = 0;i < n;i++)
cin >> a[i];
for(int i = 0;i < m;i++)
cin >> b[i];
for(int i = 0,j = 0;i < n;i++)
{
while(j < m && b[j] != a[i]) j++;
if(j == m && (b[j - 1] != a[i] || i < n))
{
cout << "No" << endl;
return 0;
}
if(b[j] == a[i]) j++;
}
cout << "Yes" << endl;
return 0;
}
y总的代码
#include <iostream>
using namespace std;
const int N = 100010;
int n,m;
int a[N],b[N];
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
cin >> n >> m;
for(int i = 0;i < n;i++)
cin >> a[i];
for(int i = 0;i < m;i++)
cin >> b[i];
int i = 0,j = 0;
while(i < n && j < m)
{
if(a[i] == b[j])
i++;
j++;
}
if(i == n) cout << "Yes" << endl;
else cout << "No" << endl;
return 0;
}