题目描述

利贝尔王国的卢安市因为前段时间的市长被捕事件,导致没有市长管理城市。他们需要一个新的市长。

竞选的人有两位。一位是诺曼,因支持旅游业而受到支持者的拥护。一位是波尔多斯,代表的是卢安的传统行业——渔业。但是他们的支持者在卢安的伦格兰德大桥吵起来了!

现在,他们每个人都与几个不同的人进行争吵。身为游击士的你,需要调解这场争斗。

参与吵架的共有n人,每个人都有一个倔强指数,第i个人的倔强指数是ai。你可以认为他们的每个争吵都只发生在两个人之间。你需要按照一定顺序把每一个人拉出这个“战场”。拉出一个人的代价是当前与他正在进行争吵的所有人的倔强指数之和,且拉出某个人以后,所有原来与他有关的吵架可以认为已经停止。

输入

第一行两个整数n m。

第二行n个整数,第i个整数表示ai。

下面m行每行两个整数pi pj,表示pi pj之间发生了一次争吵。

输出

一行一个整数,表示完成任务的最小代价。

样例输入

4 3
10 20 30 40
1 4
1 2
2 3

样例输出

40

提示

对于20%的数据,n<=9,m<=10。

对于50%的数据,n<=15,m<=20。

对于80%的数据,n<=1000,m<=1,000,000。

对于100%的数据,n<=1,000,000,m<=1,000,000。

对于100%的数据,0<=ai<=1000,输入保证没有人与自己吵架,保证数据随机生成。

这题就一句话贪心

而缺这题贪心贪的十分巧妙(正

我们可以将争吵的人构成一个图

我们发现这个图每条边最终都要被删去,才能完成任务

所以每条边的权值尽量小就可以了

那就是这条边所连两个点较小的点权值

最后把所有边权加一起就对了

#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
using namespace std;
int a[];
int main()
{
int i,j;
int n,m;
long long ans=;
scanf("%d%d",&n,&m);
for(i=;i<=n;i++)
{
scanf("%d",&a[i]);
}
int x,y;
for(i=;i<=m;i++)
{
scanf("%d%d",&x,&y);
ans+=min(a[x],a[y]);
}
cout<<ans;
}

noip模拟 市长选举的更多相关文章

  1. NOIP模拟赛20161022

    NOIP模拟赛2016-10-22 题目名 东风谷早苗 西行寺幽幽子 琪露诺 上白泽慧音 源文件 robot.cpp/c/pas spring.cpp/c/pas iceroad.cpp/c/pas ...

  2. contesthunter暑假NOIP模拟赛第一场题解

    contesthunter暑假NOIP模拟赛#1题解: 第一题:杯具大派送 水题.枚举A,B的公约数即可. #include <algorithm> #include <cmath& ...

  3. NOIP模拟赛 by hzwer

    2015年10月04日NOIP模拟赛 by hzwer    (这是小奇=> 小奇挖矿2(mining) [题目背景] 小奇飞船的钻头开启了无限耐久+精准采集模式!这次它要将原矿运到泛光之源的矿 ...

  4. 大家AK杯 灰天飞雁NOIP模拟赛题解/数据/标程

    数据 http://files.cnblogs.com/htfy/data.zip 简要题解 桌球碰撞 纯模拟,注意一开始就在袋口和v=0的情况.v和坐标可以是小数.为保险起见最好用extended/ ...

  5. 队爷的讲学计划 CH Round #59 - OrzCC杯NOIP模拟赛day1

    题目:http://ch.ezoj.tk/contest/CH%20Round%20%2359%20-%20OrzCC杯NOIP模拟赛day1/队爷的讲学计划 题解:刚开始理解题意理解了好半天,然后发 ...

  6. 队爷的Au Plan CH Round #59 - OrzCC杯NOIP模拟赛day1

    题目:http://ch.ezoj.tk/contest/CH%20Round%20%2359%20-%20OrzCC杯NOIP模拟赛day1/队爷的Au%20Plan 题解:看了题之后觉得肯定是DP ...

  7. 队爷的新书 CH Round #59 - OrzCC杯NOIP模拟赛day1

    题目:http://ch.ezoj.tk/contest/CH%20Round%20%2359%20-%20OrzCC杯NOIP模拟赛day1/队爷的新书 题解:看到这题就想到了 poetize 的封 ...

  8. CH Round #58 - OrzCC杯noip模拟赛day2

    A:颜色问题 题目:http://ch.ezoj.tk/contest/CH%20Round%20%2358%20-%20OrzCC杯noip模拟赛day2/颜色问题 题解:算一下每个仆人到它的目的地 ...

  9. CH Round #52 - Thinking Bear #1 (NOIP模拟赛)

    A.拆地毯 题目:http://www.contesthunter.org/contest/CH%20Round%20%2352%20-%20Thinking%20Bear%20%231%20(NOI ...

随机推荐

  1. Composer 中国全量镜像(二)

    一.查看当前镜像地址 在命令行输入如下命令,即可查看镜像地址: $ composer config -g repo.packagist {"type":"composer ...

  2. 利用GDB进行多线程调试

    一.多线程调试 多线程调试重要就是下面几个命令: info thread 查看当前进程的线程. thread <ID> 切换调试的线程为指定ID的线程. break file.c:100 ...

  3. java.util.zip.ZipException: invalid LOC header (bad signature)

    Debug on Server(Tomcat 9) 遇到这个exception: SEVERE: A child container failed during startjava.util.conc ...

  4. Lock使用实例

    using System; using System.Collections.Generic; using System.Data.SqlClient; using System.Linq; usin ...

  5. java文件的读写操作

    java文件的读写操作主要是对输入流和输出流的操作,由于流的分类很多,所以概念很容易模糊,基于此,对于流的读写操作做一个小结. 1.根据数据的流向来分: 输出流:是用来写数据的,是由程序(内存)--- ...

  6. MFC入门教程01 Windows编程基础

  7. [刷题]算法竞赛入门经典(第2版) 5-8/UVa230 - Borrowers

    //又开学啦,不知不觉成为大二的老人了...时间过得好快啊,感觉好颓废... 题意:建立一个借书/归还系统.有借.还.把还的书插到书架上这三个指令. 代码:(Accepted, 0ms) //UVa2 ...

  8. loadrunner提高篇-场景设计实践

    集合点设置 一.为什么要进行集合点设置? 因为在测试过程中,并不能保证所有的Vuser都在同一时刻进行操作,这样就达不到并发测试的目的,故需要用到集合点技术,集合点的意思是如果在一个操作之前设置了一个 ...

  9. Kafka学习-入门

    在上一篇kafka简介的基础之上,本篇主要介绍如何快速的运行kafka. 在进行如下配置前,首先要启动Zookeeper. 配置单机kafka 1.进入kafka解压目录 2.启动kafka bin\ ...

  10. 适配器模式(Adpater Pattern)

    适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作. 适配器模式的用途 用电器做例子,笔记本电脑的插头一般都是三相的,即除了阳极.阴极 ...