普通的模拟题

这题用一个队列容器来模拟队列元素是pair类型的,first用来存每个小朋友想要的糖数,second用来存小朋友的序号,然后开始模拟,模拟出口是当队列迟到等于1时就输出当前队列里小朋友的序号。

具体代码:

#include<bits/stdc++.h>
using namespace std;
int n,m,x,tot,sum;
queue<pair<int,int> >a;
int main(){
    cin>>n>>m;
    for(int i=1;i<=n;i++){
        cin>>x;
        a.push(make_pair(x,i));
    }
    while(a.size()!=1){
        tot=a.front().first;
        sum=a.front().second;
        a.pop();
        tot-=m;
        if(tot>0)a.push(make_pair(tot,sum));
    }
    cout<<a.front().second<<endl;
    return 0;
}