2 条题解

  • 1
    @ 2022-4-15 20:29:22
    #include<cstdio>
    #include<cstring>
    #include<algorithm>
    using namespace std;
    const int N=5005;
    int f[N],t[N],c[N];
    int main(){
        int n,s;
        scanf("%d%d",&n,&s);
        for(int i=1;i<=n;i++){
            scanf("%d%d",&t[i],&c[i]);
            t[i]+=t[i-1],c[i]+=c[i-1];
        }
        memset(f,0x3f,sizeof f);
        f[0]=0;
        for(int i=1;i<=n;i++)
            for(int j=0;j<i;j++)
                f[i]=min(f[i],f[j]+t[i]*(c[i]-c[j])+s*(c[n]-c[j]));
        printf("%d",f[n]);
        return 0;
    }
    

    老师的错了~~ hhhhhh

    • 0
      @ 2021-8-8 1:34:47

      C++ :

      #include <iostream>
      #include <cstring>
      #include <algorithm>
      using namespace std;
      const int N = 5005;
      int f[N],t[N],c[N];
      int main(){
          int n,s;
          scanf("%d%d",&n,&s);
          for(int i = 1;i <= n;i++){
              scanf("%d%d",&t[i],&c[i]);
              t[i] += t[i-1],c[i] += c[i-1];
          }
          memset(f,0x3f,sizeof f);
          f[0] = 0;
          for(int i = 1;i <= n;i++){
              for(int j = 0;j < i;j++){
                  f[i] = min(f[i],f[j] + t[i] * (c[i] - c[j]) + s * (c[n] - c[j]));
              }
          }
          printf("%d\n",f[n]);
          return 0;
      }
      
      • 1

      信息

      ID
      211
      时间
      1000ms
      内存
      128MiB
      难度
      4
      标签
      递交数
      23
      已通过
      17
      上传者