代码模板:
#include<iostream>
using namespace std;
const int N = 1e5+10;
int a[N],b[N];
int main()
{
int n,m; cin >> n >> m;
for(int i = 0;i < n;i++) cin >> a[i];
for(int i = 0;i < m;i++) cin >> b[i];
int flag = 0;
int i = 0,j = 0;
while(i < n && j<m)
{
if(a[i] == b[j]) i++;//相等的时候i后移
j++;//j一直后移
}
if(i == n) cout << "Yes";
else cout << "No";
return 0;
}
注意:if里的else,如果有else则意味着if条件成立后不会执行else的操作,因为此处while循环内部if判断语句里,j一直向后进行,故在j前不添加else。