pat1014 Waiting in line
来源:互联网 发布:淘宝网运动鞋女 编辑:程序博客网 时间:2024/06/11 15:44
#include<iostream>#include<string>#include<queue>#include<stack>#include<vector>#include<algorithm>#include<stdlib.h>using namespace std;struct cus{int pt;int st;int ct;};int main(void){int n,m,k,q,i,j;cin >> n >> m >> k >> q;cus cu[1000];int cusq[1000];for(i = 0;i < k;++i)cin >> cu[i].pt;for(i = 0;i < q;++i)cin >> cusq[i];queue<cus>win[20];int wint[20],cust[20];for(i = 0;i < n;++i)wint[i] = 0;for(i = 0;i < m;++i){for(j = 0;j < n;++j){if(i > 0)cust[j] += cu[n*(i-1)+j].pt;elsecust[j] = 0;cu[i*n+j].st = cust[j];cu[i*n+j].ct = cu[i*n+j].pt + cu[i*n+j].st;win[j].push(cu[i*n+j]);wint[j] += cu[i*n+j].pt;}}int min;int key;for(j = n*m;j < k;++j){min = win[0].front().ct;key = 0;for(i = 0;i < n;++i){if(win[i].front().ct < min){min = win[i].front().ct;key = i;}}cu[j].st = win[key].front().st + wint[key];//cout << win[key].front().st << wint[key] << endl;cu[j].ct = cu[j].pt + cu[j].st;wint[key] += cu[j].pt;wint[key] -= win[key].front().pt;win[key].pop();win[key].push(cu[j]);}for(i = 0;i < q;++i){if(cu[cusq[i]-1].st < 9*60)printf("%.2d:%.2d\n",8+cu[cusq[i]-1].ct/60,cu[cusq[i]-1].ct%60);elsecout << "Sorry" << endl;}system("pause");return 0;}
0 0
- pat1014 Waiting in line
- PAT1014. Waiting in Line (30)
- 【PAT1014】 Waiting in Line (30) queue模拟排队
- Waiting in Line
- PAT_1014: Waiting in Line
- 1014. Waiting in Line
- 1014.Waiting in Line
- 1014. Waiting in Line
- Waiting in Line
- 1014. Waiting in Line
- PAT_1014. Waiting in Line
- Waiting in Line
- [PAT][1014] Waiting in Line
- 1014. Waiting in Line (30)
- 1014. Waiting in Line (30)
- PAT 1014 Waiting in Line
- 1014. Waiting in Line (30)
- 1014 Waiting in Line (30)
- MAC地址和IP地址
- TYVJ1415 差分约束
- TPL——开始一个Task
- nodejs操作MSSQL两种方式--笔记
- 设计模式学习笔记——观察者模式
- pat1014 Waiting in line
- 357. Count Numbers with Unique Digits
- java运行顺序
- ubuntu 14.04 编译android6.01 (freescale-imx6)
- 什么是经验贝叶斯克里金插值法?
- Leetcode:Find the Difference
- Redis的文档
- 【iOS】苹果内购调研
- java中使用javascript Nashorn引擎