Help me in solving BEX problem

My issue

My code

#include <bits/stdc++.h>
using namespace std;

int main() {
    int n;
    cin>>n;
    stack<pair<int, string>> s;
    int mini = INT_MAX;
    while(n--)
    {
        int rem;
        cin>>rem;
        if(rem != -1)
        {
            if(rem < mini)
            {
                mini = rem;
            }
            string name;
            cin>>name;
            s.push(make_pair(rem, name));
        }
        else
        {
            int ans = 0;
            while(s.top().first > mini)
            {
                s.pop();
                ans++;
            }
            cout<<ans<<" "<<s.top().second<<endl;
            s.pop();
        }
    }
	return 0;
}

Problem Link: CodeChef: Practical coding for everyone