一道acm水题 all in all 一直找不出错误 求大神解答

描述字符串s和t均由字母组成,若在t中除去一些字母能够得到s,我们就说s是t的一个子串。比如abc就是acbefc的子串
(acbefc去掉第二、第四、第五个字符后就得到abc)输入有若干组输入数据,每组一行,分别为字符串s和t,s与t之间用空格隔开输出对于一组s与t,若s是t的子串,则输出Yes,否则输出No

样例输入
sequence subsequence
abc acb
VERDI vivaVittorioEmanueleReDiItalia
样例输出
Yes
No
Yes

样例输入
sequence subsequence
abc acb
VERDI vivaVittorioEmanueleReDiItalia
样例输出
Yes
No
Yes

下面是我的代码 不知道错误在哪

#include
using namespace std;

int main(){
char s[100001], t[100001];
char *ps, *pt;
while (cin>>s>>t){
ps = s;
pt = t;
while ('\0'!=*ps && '\0'!=*pt){
if (*ps==*pt){
ps++;
pt++;
}
else{
pt++;
}
}
if ('\0' == *ps){
cout << "Yes" << endl;
}
else{
cout << "NO" << endl;
}
}
return 0;
}

NO 改成No 好了 脑残了