UVA12100 Printer Queue

来源:互联网 发布:海量数据存储方案 编辑:程序博客网 时间:2024/05/22 06:08
#include <bits/stdc++.h>#define ll long long#define INF 0x3f3f3f3f#define mem(shuzu,value) memset(shuzu,value,sizeof shuzu)using namespace std;const int M=800000+100;struct Job{    int xuhao;    int priority;};int n,m;int pri[10];int getIndex(int nums[]){    for(int i=9;i>0;i--){        if(nums[i]){            return i;        }    }    return 0;}int main(){    int t;     //freopen("in.txt","r",stdin);    cin>>t;    while(t--){            mem(pri,0);        cin>>n>>m;        queue<Job>jobs;        for(int i=0;i<n;i++){            Job job;            cin>>job.priority;            pri[job.priority]++;            job.xuhao=i;            jobs.push(job);        }        int time=0;        while(!jobs.empty()){            Job jj=jobs.front();            jobs.pop();            //cout<<"jj.priority"<<jj.priority<<";;getIndex(pri):"<<getIndex(pri)<<endl;            if(jj.xuhao==m&&jj.priority==getIndex(pri)){                cout<<time+1<<endl;                break;            }else if(jj.priority!=getIndex(pri)){                jobs.push(jj);            }else if(jj.priority==getIndex(pri)){                pri[jj.priority]--;                time++;            }        }    }}
0 0
原创粉丝点击