class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param students int整型vector 
     * @param sandwiches int整型vector 
     * @return int整型
     */
    int countStudents(vector<int>& students, vector<int>& sandwiches) {
        queue<int>st;
        stack<int>sa;
        int n=students.size();
        for(int i=0;i<n;i++)
        {
            st.push(students[i]);
        }
        for(int i=n-1;i>=0;i--)
        {
            sa.push(sandwiches[i]);
        }
        int refuse=0;//跟踪多少个学生没拿走三明治
        while(refuse<st.size())
        {
            if(sa.top()==st.front())
            {
                sa.pop();
                st.pop();
                refuse=0;
            }
            else
            {
                int val=st.front();
                st.pop();
                st.push(val);
                refuse++;
            }
        }
        return st.size();
    }
};