/ 科创班 /

记录详情

System Error


  
FileNotFoundError('input/input10.txt',)
# 状态 耗时 内存占用
#1 Memory Exceeded ≥47ms ≥304.0 KiB
#2 Memory Exceeded ≥47ms ≥304.0 KiB
#3 Memory Exceeded ≥47ms ≥304.0 KiB
#4 Memory Exceeded ≥47ms ≥304.0 KiB
#5 Memory Exceeded ≥47ms ≥304.0 KiB
#6 Memory Exceeded ≥47ms ≥304.0 KiB
#7 Memory Exceeded ≥47ms ≥304.0 KiB
#8 Memory Exceeded ≥47ms ≥304.0 KiB
#9 Memory Exceeded ≥47ms ≥304.0 KiB

代码

#include <bits/stdc++.h>
#define int long long
#define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define endl "\n"
using namespace std;
struct cw{
  int s,e,dis;
}cow[114514];
int n,p,c[114514],f[114514];
int find(int x){
    if(f[x] == x) return x;
    else return f[x] = find(f[x]);
}
bool cmp(cw x,cw y){
    return x.dis < y.dis;
}
signed main(){
    IOS
    cin >> n >> p;
    for(int i = 1;i <= n;i++) cin >> c[i];
    for(int i = 1;i <= p;i++){
        cin >> cow[i].s >> cow[i].e >> cow[i].dis;
        cow[i].dis = c[cow[i].s] + c[cow[i].e] + 2 * cow[i].dis;
    }
    sort(cow + 1,cow + p + 1,cmp);
    int sum = 0;
    for(int i = 1;i <= n;i++) f[i] = i;
    for(int i = 1;i <= p;i++){
        int x = find(cow[i].s),y = find(cow[i].e);
        if(x != y) sum += cow[i].dis,f[x] = y;
    }
    sort(c + 1,c + n + 1);
    cout << c[1] + sum;
    return 0;
}
//数据不清空,爆零两行泪。
//多测不读完,爆零两行泪。
//边界不特判,爆零两行泪。
//贪心不证明,爆零两行泪。
//DP顺序错,爆零两行泪。
//大小少等号,爆零两行泪。
//变量不统一,爆零两行泪。
//越界不判断,爆零两行泪。
//调试不注释,爆零两行泪。
//溢出不long long,爆零两行泪。

信息

递交者
类型
递交
题目
安慰奶牛
题目数据
下载
语言
C++
递交时间
2024-04-24 17:11:21
评测时间
2024-04-24 17:11:21
评测机
分数
0
总耗时
0ms
峰值内存
0 Bytes