zoukankan      html  css  js  c++  java
  • 17.2.28清北 合并游戏

    合并游戏

    merge.cpp/c/pas

    (1s/256M)

     

    题目描述

           Cindy和Dan在玩一个游戏。

           一开始Cindy想出了N个数,接着她把这N个数全部给了Dan。

    l  Dan得到这组数后,它会挑出3个数(如果不足3个则全部挑出)。Dan会把这几个数加起来变成一个数,然后再把这个数与剩下的数再放到一起。Dan会一直这样做,直到最后只剩下一个数。

           Cindy则会在旁边记下每次Dan得到的数,她把这些数加起来,作为本次游戏的得分。她想知道,对于一组数,Dan能得到的最大的得分是多少?

    输入格式

           第一行一个正整数N,代表这组数的个数;

           第二行N个正整数,代表这N个整数。

    输出格式

           一行一个整数,代表可能的最大得分。

    样例输入(merge.in)

           4

           3 1 5 6

    样例输出(merge.out)

           29

    样例解释

           Dan可以首先把(3,5,6)这三个数先合并起来,得到3 + 5 + 6 = 14; 接着他把剩下的两个数再合起来,得到1 + 14 = 15.这样,总得分是最大的 14 + 15 = 29.

    数据范围与限制

           对于50%的数据,N<=10

           对于100%的数据,N<=1000,所有数不大于1000

     1 #include<iostream>
     2 #include<cstdio>
     3 #include<algorithm>
     4 #include<cstring>
     5 #include<string>
     6 #include<cmath>
     7 #include<cstdlib>
     8 using namespace std;
     9 const int N=1001;
    10 int a[N];
    11 bool cmp(int a,int b)
    12 {
    13     return a>b;
    14 }
    15 int main()
    16 {
    17     int ans=0;
    18     int n;
    19     cin>>n;
    20     for(int i=1;i<=n;i++)
    21      {
    22          cin>>a[i];
    23      }
    24      sort(a+1,a+n+1,cmp);
    25      for(int i=1;i<=n;i+=2)
    26       {
    27           if(i<n-1)
    28            {
    29                a[i+2]+=a[i+1]+a[i];
    30                ans+=a[i+2];
    31            }
    32            else{
    33                a[n]+=a[n-1];
    34                ans+=a[n];
    35            }
    36       }
    37     cout<<ans; 
    38 }
  • 相关阅读:
    JAVA中的CAS
    深入介绍Java中的锁[原理、锁优化、CAS、AQS]
    Java并发之AQS详解
    Java线程池ThreadPoolExecutor使用和分析(一)
    LinkedBlockingQueue
    生产者消费者两种实现:wait/notifyAll和Lock/Condition
    Java并发编程:CountDownLatch、CyclicBarrier和 Semaphore
    jvm系列(1):JVM问答
    mysql不存在插入否则更新
    java.util.MissingResourceException: Can't find bundle for base name db, locale zh_CN
  • 原文地址:https://www.cnblogs.com/lyqlyq/p/6783122.html
Copyright © 2011-2022 走看看