http://acm.hust.edu.cn/vjudge/contest/view.action?cid=93241#problem/B (654123)

http://codeforces.com/problemset/problem/4/B

Before an Exam

Time Limit:500MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u

Description

   明天,彼得就将要参加生物考试了。但是他不喜欢这个科目,但是d天前,彼得严厉的父母让他立即准备考试,为此,在第i天的时候,他要学习不少于minTimei的时间,并且不多于maxTimei的时间。此外,他父母警告彼得说考试前一天,他们会检查他是否按照他们的指示在复习。
 
   今天,彼得的父母来检查了,要求他出示每天复习的时间表。但是彼得只记得花的总时间sumtime了,现在为了应付父母的检查,请你帮助他创造一张每天学习的时间表,使得满足每天学习时间的要求,并且总时间等于sumtime。

Input

第一行输入包含两个整数d和sumtime(1≤d≤30,0≤sumtime≤240)分别表示复习的总天数和总时间。以下d行包含两个整数minTimei和maxTimei(0≤minTimei≤maxTimei≤8),用空格隔开,表示每天复习的最少时间和最多时间。

Output

如果没有解决方案,就输出NO,如果有解决方案,就先第一行输出YES,然后第二行输出每天学习的时间,中间用一个空格隔开(输出任何一个解决方法都可以)。

Sample Input

输入样例1:
1 48
5 7
 
输入样例2:
2 5
0 1
3 5

Sample Output

输出样例1:
NO
 
输出样例2:
YES
1 4 
  1. #include <cstdio>
  2. #include <cstring>
  3. #include <cstdlib>
  4. #include <iostream>
  5. #include <algorithm>
  6. using namespace std;
  7.  
  8. #define N 210
  9.  
  10. struct node
  11. {
  12. int MinTime, MaxTime;
  13. }a[N];
  14.  
  15. int main()
  16. {
  17. int d, sumtime;
  18.  
  19. while(scanf("%d%d", &d, &sumtime)!=EOF)
  20. {
  21. int i, MaxSumTime=, MinSumTime=;
  22.  
  23. memset(a, , sizeof(a));
  24. for(i=; i<d; i++)
  25. {
  26. scanf("%d%d", &a[i].MinTime, &a[i].MaxTime);
  27. MinSumTime += a[i].MinTime;
  28. MaxSumTime += a[i].MaxTime;
  29. }
  30.  
  31. if(sumtime>=MinSumTime && sumtime<=MaxSumTime)
  32. {
  33. int flag=;
  34. printf("YES\n");
  35.  
  36. sumtime -= MinSumTime;
  37.  
  38. for(i=; i<d; i++)
  39. {
  40. if(flag)
  41. printf(" ");
  42. if(sumtime>)
  43. {
  44. if(sumtime>(a[i].MaxTime-a[i].MinTime))
  45. {
  46. printf("%d", a[i].MaxTime);
  47. sumtime -= (a[i].MaxTime-a[i].MinTime);
  48. }
  49. else
  50. {
  51. printf("%d", sumtime+a[i].MinTime);
  52. sumtime = ;
  53. }
  54. }
  55. else
  56. printf("%d", a[i].MinTime);
  57.  
  58. flag = ;
  59. }
  60.  
  61. printf("\n");
  62.  
  63. }
  64. else
  65. printf("NO\n");
  66. }
  67. return ;
  68. }

Before an Exam的更多相关文章

  1. Linux学习之Exam系统发布

    配置时间:2015年11月27日 配置人:撰写人:微冷的雨   Happy 01.Linux安装图 欢迎页面 桌面 02.Linux命令之文件目录操作 给北大青鸟五道口校区创建三个机房(L4,L5,L ...

  2. CF534A Exam 构造

    An exam for n students will take place in a long and narrow room, so the students will sit in a line ...

  3. CF Exam (数学)

     Exam time limit per test 1 second memory limit per test 256 megabytes input standard input output s ...

  4. Exam 70-462 Administering Microsoft SQL Server 2012 Databases 复习帖

    好吧最近堕落没怎么看书,估计这个月前是考不过了,还是拖到国庆之后考试吧.想着自己复习考试顺便也写点自己的复习的概要,这样一方面的给不准备背题库的童鞋有简便的复习方法(好吧不被题库的同学和我一样看MSD ...

  5. Final Exam Arrangement(ZOJ)

    In Zhejiang University, there are N different courses labeled from 1 to N. Each course has its own t ...

  6. 有感PMI Exam Dev Workshop

    有幸參加了PMI协会在上海举办的PMI Exam Development Workshop活动.这是PMI协会第二次在中国举办此活动,上一次是2009年北京. 我第一次參加,感觉收获非常多. 我们知道 ...

  7. Exam(贪心)

    Exam Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submis ...

  8. B题 Before an Exam

    Description Tomorrow Peter has a Biology exam. He does not like this subject much, but d days ago he ...

  9. HDU 5240 Exam

    The 2015 ACM-ICPC China Shanghai Metropolitan Programming Contest 2015ACM-ICPC上海大都会赛 签到题 #include< ...

  10. 考分鄙视(exam)

    考分鄙视(exam) 题目描述 Whence这个学期考了n次试,每一次都有一个0-20000之间的整数分数.Whence本来的状态应该是每一次考试都比前一次多一分(除第一次),但由于他很不稳定,偏差可 ...

随机推荐

  1. ansible之条件语句when

    注册变量: 变量的另一个用途是将一条命令的运行结果保存到变量中,供后面的playbook使用.例如: - hosts: webservers tasks: - shell: /usr/bin/foo ...

  2. 关于str.split(",")中间 什么时候该加\\转义

    java 分割符,对于某些符号的分割符进行切割的时候需要加转义字符,我贴上例子 1. package test1; public class split { public static void ma ...

  3. cmd dos bat 深度变量文件夹指定文件

    echo off ::指定起始文件夹 :: 指定文件夹 set DIR = abc :: d:/abc 改脚本放在d: set DIR="%cd%" echo DIR=%DIR% ...

  4. 第八章 高级搜索树 (b3)B-树:查找

  5. TZOJ 3533 黑白图像(广搜)

    描述 输入一个n*n的黑白图像(1表示黑色,0表示白色),任务是统计其中八连块的个数.如果两个黑格子有公共边或者公共顶点,就说它们属于同一个八连块.如图所示的图形有3个八连块. 输入 第1行输入一个正 ...

  6. [leetcode]392. Is Subsequence 验证子序列

    Given a string s and a string t, check if s is subsequence of t. You may assume that there is only l ...

  7. php 下 html5 XHR2 + FormData + File API 上传文件

    FormData的作用: FormData对象可以帮助我们自动的打包表单数据,通过XMLHttpRequest的send()方法来提交表单.当然FormData也可以动态的append数据.FormD ...

  8. SQL思维导图

  9. 7. Debug on local machine

    Step 1:

  10. Java数据结构和算法(二)树的基本操作

    Java数据结构和算法(二)树的基本操作 数据结构与算法目录(https://www.cnblogs.com/binarylei/p/10115867.html) 一.树的遍历 二叉树遍历分为:前序遍 ...