zoukankan      html  css  js  c++  java
  • 款待奶牛

    问题 A: 款待奶牛(treat)

    时间限制: 1 Sec  内存限制: 64 MB
    提交: 24  解决: 2
    [提交][状态][讨论版]

    题目描述

    FJ有n(1≤n≤2000)个美味的食物,他想卖掉它们来赚钱给奶牛。这些食物放在一些箱子里,它们有些有趣的特性:
    (1)这些食物被编号为1~n,每一天FJ可以从这排箱子的头部或者尾部取出食物去卖;
    (2)这些食物放得越久,年龄越大,价值越大,食物i有一个初始的价值V(i);
    (3)放了a天后,年龄为a,食物最终的价值为V(i)×a。
    给定每一个食物的初始价值v(i),请求出FJ卖掉它们后可以获得的最大价值,第一天出售的食物的年龄为1,此后每增加一天食物的年龄就增加1。

    输入

    第1行:一个整数n;
    第i+l行:每行为食物i的初始价值V(i)。

    输出

    1行:FJ最终可以获得的最大价值。

    样例输入

    5
    1
    3
    1
    5
    2
    

    样例输出

    43
    

    提示


    样例说明:FJ出售这些食物(初始价值1,3,1,5,2)的顺序为:第一天卖掉第1个,第二天卖掉第5个,第三天卖掉第2个,第四天卖掉第3个,第5天卖掉第4个,获得最大的价值 1×1+2×2+3×3+4×1+5×5=43。

    写出来程序了,运行和样例输出答案一样,提交提示答案错误,不知为什么= =

    #include<stdio.h>
    int main()
    {
        int n,i,count;
        long int s=0;
        int a[20001];
        scanf("%d",&n);
        for(i=1;i<=n;i++)
            scanf("%d",&a[i]);
        for(i=1,count=1;i<=n;i++,count++)
        {
            if(a[i]<a[n])
                s=s+count*a[i];
            else {
                s=s+count*a[n];
                n--;
                i--;
            }
        }
        printf("%ld
    ",s);
        return 0;
    
    }
    View Code
  • 相关阅读:
    lua与C++的绑定
    lua与C的绑定
    如何得到真实的需求?
    mysql学习笔记——对数据库的操作
    排列组合公式
    英语口语积累笔记
    初学C++-----------------类的组合
    初学C++-----------------类的拷贝构造函数
    初学C++-----------------类的构造函数、析构函数
    初学C++-----------------类的定义
  • 原文地址:https://www.cnblogs.com/great-xxr/p/5682723.html
Copyright © 2011-2022 走看看