zoukankan      html  css  js  c++  java
  • bzoj2424 [HAOI2010]订货

      模拟一下仓库里面存储物品的价格情况即可,如果当前物品大于仓库里面物品那么就替换一下仓库里的物品,然后订货直接从仓库里先取,仓库里不够则直接购买,每次做完后记得买当前物品填补一下仓库直至仓库填满,当然这笔钱等物品从仓库里取出时在付。复杂度O(nmlog(m))

      代码

     1 #include<cstdio>
     2 #include<algorithm>
     3 using namespace std;
     4 const int N = 101010;
     5 int n,m,S,i,j,e[N],d[N],u[N],ans;
     6 int main()
     7 {
     8     scanf("%d%d%d",&n,&m,&S);
     9     for (i=1;i<=n;i++)
    10     scanf("%d",&u[i]);
    11     for (i=1;i<=n;i++)
    12     scanf("%d",&d[i]);
    13     for (j=1;j<=S;j++) e[j]=0x37373737;
    14     for (i=1;i<=n;i++)
    15     {
    16         for (j=1;j<=S;j++)
    17         if (d[i]<e[j]) e[j]=d[i];
    18         sort(e+1,e+1+S);
    19         for (j=1;j<=min(S,u[i]);j++)
    20         ans+=e[j],e[j]=d[i];
    21         ans+=d[i]*(u[i]-min(S,u[i]));
    22         for (j=1;j<=S;j++) e[j]+=m;
    23     }
    24     printf("%d
    ",ans);
    25 }
  • 相关阅读:
    POJ 2503 Babelfish
    POJ 1182 食物链
    POJ 2352 Stars
    POJ 2528 Mayor's posters
    POJ 1328 Radar Installation
    POJ 1017 Packets
    jQuery实现登录提示
    【1-5】jQuery对象和DOM对象
    【1-4】jQuery代码风格-导航栏
    【3】买苹果
  • 原文地址:https://www.cnblogs.com/fzmh/p/5521098.html
Copyright © 2011-2022 走看看