acgo题库
  • 首页
  • 题库
  • 题单
  • 竞赛
  • 讨论
  • 排行
  • 团队
  • 备赛专区

    竞赛

    • CSP-J/S
    • 蓝桥杯

    考级

    • GESP
    • CPA
    • 电子学会考级
登录
注册
题目详情题解(0)讨论(0)提交记录(0)
  • 题解

    #include<cstdio> struct Data { int min,max; int delta; //为了实现对YES情况先选择总计的minTime,记录maxTime与minTime的差值 }D[31],sum; int main() { int d,t; scanf("%d%d",&d,&t); for(int i=0;i<d;++i) { scanf("%d%d",&D[i].min,&D[i].max); D[i].delta=D[i].max-D[i].min; sum.min+=D[i].min; sum.max+=D[i].max; } if(sum.max<t||sum.min>t) printf("NO"); else { printf("YES\n"); t-=sum.min; //先选择总计的minTime for(int i=0;i<d;++i) { if(t>=D[i].delta) { //贪心地选择 printf("%d ",D[i].max); t-=D[i].delta; } else { printf("%d ",t+D[i].min); t=0; } } } return 0; }

    userId_undefined

    码农爱历史

    倔强青铜
    15阅读
    0回复
    0点赞
首页