比赛 NOIP2007普及组(复现) 评测结果 AAAAAAAWAA
题目名称 守望者的逃离 最终得分 90
用户昵称 HtBest 运行时间 0.006 s
代码语言 C++ 内存使用 13.66 MiB
提交时间 2020-02-09 17:38:36
显示代码纯文本
  1. #include<bits/stdc++.h>
  2. int main(void) {
  3. freopen("escape.in","r",stdin);
  4. freopen("escape.out","w",stdout);
  5. int m=0,s=0,t=0;
  6. const int v=17,mp=4,tr=60;
  7. int sum=0,num=0,time=0;
  8. scanf("%d %d %d",&m,&s,&t);
  9. time=t;
  10. while(t>0) {
  11. while(m>=10&&sum<s&&t>0) {
  12. sum+=tr;
  13. m-=10;
  14. t-=1;
  15. }
  16. if (sum>s&&t>=0) {
  17. puts("Yes");
  18. printf("%d",time-t);
  19. break;
  20. } else if(t==0&&sum<s) {
  21. puts("No");
  22. printf("%d",sum);
  23. break;
  24. }
  25. there:
  26. while(m<10&&t>0){
  27. m+=mp;
  28. num+=1;
  29. }
  30. if ((s-sum-v*num)<=0&&t-num>=0) {
  31. puts("Yes");
  32. printf("%d",(int)(((double)s-sum)/v+0.9999)+time-t);
  33. break;
  34. }
  35. if(t-num>0) {
  36. sum+=tr;
  37. m-=10;
  38. t=t-num-1;
  39. if(sum>s)
  40. {
  41. puts("Yes");
  42. printf("%d",time-t);
  43. break;
  44. }
  45. num=0;
  46. goto there;
  47. } else {
  48. sum+=t*v;
  49. t=0;
  50. if(sum>s)
  51. {
  52. puts("Yes");
  53. printf("%d",time-t);
  54. break;
  55. }
  56. else {
  57. puts("No");
  58. printf("%d",sum);
  59. break;
  60. }
  61. }
  62. }
  63.  
  64. }