2019CCPC网络赛 H

图片说明
图片说明

  • 题意:
  • 给出每条鱼烤制的时间,抓捕每条鱼的时间是相同的,问你最少花费多少时间才能将所有的鱼抓完并烤完。
  • 题解:
  • 贪心策略,就是要让自己的空闲时间越小越好,处理好每个烤鱼的时间,排序完后直接相加就好了,确实是想复杂了,贪心策略越简练越容易a,想麻烦可就事大了。
  • 代码:
    #include <bits/stdc++.h>
    using namespace std;
    #define ll long long
    struct node{
      ll x,k;
    }a[100010];
    bool cmp(node p1,node p2)
    {
      return p1.k < p2.k;
    }
    ll min(ll x,ll y)
    {
      return x<y?x:y;
    }
    int main()
    {
      int t;
      scanf("%d",&t);
      while(t--)
      {
          ll n,m;
          scanf("%lld %lld",&n,&m);
          ll now = n-1;
          for(int i=1;i<=n;i++)
          {
              scanf("%lld",&a[i].x);
              int d = a[i].x/m;
              d = min(d,now);
              now -= d;
              a[i].k = a[i].x - d*m;
          }
          sort(a+1,a+1+n,cmp);
          ll ans = n*m;
          for(int i=1;i<=n-now;i++)
          {
              ans += a[i].k;
          }
          cout<<ans<<endl;
      }
      return 0;
    }
全部评论

相关推荐

诨号无敌鸭:恭喜佬,但是有一个小问题:谁问你了?我的意思是,谁在意?我告诉你,根本没人问你,在我们之中0人问了你,我把所有问你的人都请来 party 了,到场人数是0个人,誰问你了?WHO ASKED?谁问汝矣?誰があなたに聞きましたか?누가 물어봤어?我爬上了珠穆朗玛峰也没找到谁问你了,我刚刚潜入了世界上最大的射电望远镜也没开到那个问你的人的盒,在找到谁问你之前我连癌症的解药都发明了出来,我开了最大距离渲染也没找到谁问你了我活在这个被辐射蹂躏了多年的破碎世界的坟墓里目睹全球核战争把人类文明毁灭也没见到谁问你了
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务