模拟

  1. #include<iostream>
  2. #include<algorithm>
  3. #include<vector>
  4. #include<cstdio>
  5. #include<Set>
  6. using namespace std;
  7. struct pas
  8. {
  9. int x,t,num,time;
  10. }p[];
  11. set<int>s;
  12. vector<int>stu[];
  13. int n,m,time;
  14. int pt[];
  15. inline int min(int x,int y)
  16. {
  17. return x<y?x:y;
  18. }
  19. inline int max(int x,int y)
  20. {
  21. return x>y?x:y;
  22. }
  23. inline bool cp(pas x,pas y)
  24. {
  25. return x.t<y.t;
  26. }
  27. inline bool cp1(pas x,pas y)
  28. {
  29. return x.num<y.num;
  30. }
  31. int main()
  32. {
  33. cin>>n>>m;
  34. for(int i=;i<=n;i++)
  35. {
  36. scanf("%d%d",&p[i].t,&p[i].x);
  37. p[i].num=i;
  38. }
  39. sort(p+,p+n+,cp);
  40. int pre=;
  41. while(pre<=n)
  42. {
  43. s.clear();
  44. int dis=;
  45. for(int i=pre;i<min(pre+m,n+);i++)
  46. {
  47. s.insert(p[i].x);
  48. stu[p[i].x].push_back(i);
  49. }
  50. if(time<p[min(pre+m-,n)].t)
  51. time+=(p[min(pre+m-,n)].t-time);
  52. int last=;
  53. for(set<int>::iterator it=s.begin();it!=s.end();it++)
  54. {
  55. time+=(*it-last);
  56. for(int i=;i<stu[*it].size();i++)
  57. p[stu[*it][i]].time=time;
  58. time+=(+(stu[*it].size()/));
  59. stu[*it].clear();
  60. last=*it;
  61. }
  62. time+=*s.rbegin();
  63. pre=min(pre+m,n+);
  64. }
  65. sort(p+,p+n+,cp1);
  66. for(int i=;i<=n;i++)
  67. printf("%d ",p[i].time);
  68. return ;
  69. }

172C的更多相关文章

  1. Git self-learning

    ---恢复内容开始--- 使用后的总结 git config --global user.name "" #设置和查看用户名git config --global user.ema ...

  2. xman_2019_format(非栈上格式化字符串仅一次利用的爆破)

    xman_2019_format(非栈上格式化字符串仅一次利用的爆破) 首先检查一下程序的保护机制 然后用IDA分析一下 存在后门 首先malloc了一片堆空间,读入数据 把刚刚读入的数据当作格式化字 ...

随机推荐

  1. Hibernate二级缓存配置

    一.定义: 二级缓存是进程或集群范围内的缓存,可以被所有的Session共享,是可配置的插件 二.二级缓存原理图 解析:每次从二级缓存中取出的对象,都是一个新的对象. 三.配置步骤如下: 同理:以员工 ...

  2. C# 匿名函数 详解

    匿名函数的定义和用途 匿名函数是一个“内联”语句或表达式,可在需要委托类型的任何地方使用. 可以使用匿名函数来初始化命名委托[无需取名字的委托],或传递命名委托(而不是命名委托类型,传递一个方法块,而 ...

  3. java内存设置

    在上边红色框内加入java内存设置命令: -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m

  4. FragmentTransaction.replace() 你不知道的坑

    一.起源: 先看效果,在linearLayout中添加了4个Fragment,然后点击替换一次确替换了两个Fragment,引发了我的研究兴趣: 第一次启动                       ...

  5. C# 文件下载四方法

    using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Secu ...

  6. Apache mod_rewrite规则重写的标志一览

    1) R[=code](force redirect) 强制外部重定向 强制在替代字符串加上http://thishost[:thisport]/前缀重定向到外部的URL.如果code不指定,将用缺省 ...

  7. NOIP2016提高组解题报告

    NOIP2016提高组解题报告 更正:NOIP day1 T2天天爱跑步 解题思路见代码. NOIP2016代码整合

  8. 19个必须知道的Visual Studio快捷键(转)

    英文原文:19 Must-Know Visual Studio Keyboard Shortcuts 本文将为大家列出在 Visual Studio 中常用的快捷键,正确熟练地使用快捷键,将大大提高你 ...

  9. 【点滴积累,厚积薄发】windows schedule task中.exe程序的路径问题等问题总结

    1.在发布ReportMgmt的Job时遇到一个路径问题,代码如下: doc.Load(@"Configuration\Business\business.config");   ...

  10. HP PCS 云监控大数据解决方案

    ——把数据从分散统一集中到数据中心 基于HP分布式并行计算/存储技术构建的云监控系统即是通过“云高清摄像机”及IaaS和PaaS监控系统平台,根据用户所需(SaaS)将多路监控数据流传送给“云端”,除 ...