• Cities


    问题 C: Cities

    时间限制: 1 Sec  内存限制: 128 MB
    提交: 87  解决: 61
    [提交][状态][讨论版][命题人:admin]

    题目描述

    There are n cities in Byteland, and the ith city has a value ai. The cost of building a bidirectional road between two cities is the sum of their values. Please calculate the minimum cost of connecting these cities, which means any two cities can reach each other.

    输入

    The first line is an integer T(T≤10^5), representing the number of test cases.
    For each test case, the first line is an integer n(n≤10^5), representing the number of cities, the second line are n positive integers ai(ai≤10^5), representing their values.
     

    输出

    For each test case, output an integer ans, the minimum cost of connecting these cities.

    样例输入

    2
    4
    1 2 3 4
    1
    1
    

    样例输出

    12
    0


    #include <iostream>
    #include <cstdio>
    #include <cstring>
    using namespace std;
    
    int main()
    {
        int T;
        cin>>T;
        while(T--)
        {
            int n;
            cin>>n;
            if(n==1)
            {
                cout<<0<<endl;
                continue;
            }
            int a[100005];
            cin>>a[0];
            int minx = a[0];
            int index = 0;
            for(int i=1;i<n;i++)
            {
                cin>>a[i];
                if(a[i]<minx)
                {
                    minx = a[i];
                    index = i;
                }
            }
            long long int ans = 0;
            for(int i=0;i<n;i++)
            {
                if(i!=index)
                {
                    ans+=minx+a[i];
                }
            }
            cout<<ans<<endl;
        }
    }

    贪心题

  • 相关阅读:
    jsp
    session
    cookie
    异常
    静态导入 可变参数与collectiions集合工具 集合嵌套
    HashMap和LinkedHashMap
    map集合
    匿名对像,,,内部类
    电脑版校网登录助手
    360舵机与180舵机
  • 原文地址:https://www.cnblogs.com/hao-tian/p/9080582.html
Copyright © 2020-2023  润新知