题目地址

Given two strings S
​1
​​ and S
​2
​​ , S=S
​1
​​ −S
​2
​​ is defined to be the remaining string after taking all the characters in S
​2
​​ from S
​1
​​ . Your task is simply to calculate S
​1
​​ −S
​2
​​ for any given strings. However, it might not be that simple to do it fast.

Input Specification:
Each input file contains one test case. Each case consists of two lines which gives S
​1
​​ and S
​2
​​ , respectively. The string lengths of both strings are no more than 10
​4
​​ . It is guaranteed that all the characters are visible ASCII codes and white space, and a new line character signals the end of a string.

Output Specification:
For each test case, print S
​1
​​ −S
​2
​​ in one line.

Sample Input:
They are students.
aeiou

Sample Output:
Thy r stdnts

#include <iostream>
#include <vector>
#include<algorithm>
#include <cmath>
#include<map>
#include<cstring>
#include<queue>
#include<string>
#include<set>
using namespace std;
typedef long long ll;
const int maxn=100010,inf=100000000;
string a,b;map<char,bool>exsit;
int main(){
    getline(cin,a);
    getline(cin,b);
    for(int i=0;i<b.length();i++) exsit[b[i]]=1;
    int i=0;
    while(i<a.length()){
        if(exsit[a[i]]){
            a.erase(i,1);
        }
        else i++;
    }
    cout<<a;
}