南邮 OJ 2001 水獭看动漫
来源:互联网 发布:中国银行网络金融 编辑:程序博客网 时间:2024/04/29 17:48
水獭看动漫
时间限制(普通/Java) : 1000 MS/ 3000 MS 运行内存限制 : 65536 KByte
总提交 : 103 测试通过 : 31
总提交 : 103 测试通过 : 31
比赛描述
水獭发现为了看更多的集数,几乎每部作品都不能完整的看完,这让她心痒难耐~~于是她与他重新商议,希望能把想看的动漫全部看完,想到他当然不会同意这么“朴素而暴力”的新方案,她提出了“优化”条件——在看完某些前传或者是排序靠前的几集后,后面的内容可以跳着看(因为内容的关联所以可以直接跳过一些部分以缩短时间)。
假定,直接看某集A和某集B需用时Ca和Cb,但是在看完A后再看B的话,可以缩短时间为Db(保证Db≤Cb),从而总时间缩短了。但是,先看B后看A的话,不能缩短时间。
现在,给出若干这种联系,请计算出看完所有动漫所需要的最短时间。
假定,直接看某集A和某集B需用时Ca和Cb,但是在看完A后再看B的话,可以缩短时间为Db(保证Db≤Cb),从而总时间缩短了。但是,先看B后看A的话,不能缩短时间。
现在,给出若干这种联系,请计算出看完所有动漫所需要的最短时间。
输入
第一行包含一个正整数Q,表示测试数据组数(1≤Q≤10);
每组测试数据包含若干行:
第一行仅有一个正整数N(1≤N≤100),表示有N集动漫;第二行包含N个正整数Ci,表示在没有“前情提要”时,看完第i集需要的时间;
第三行包含一个正整数M(M≤5000),表示有M个剧情的联系(可以缩短时间);接下来M行,每行三个正整数A,B,D,表示,在已看完A的情况下看B所需时间缩短为D。
为简化数据,假定所有剧集从1至N连续编号,A和B皆为有效编号,D一定不大于对应该集的C(1≤C,D≤10000),且不存在环!!!
输出
每组数据对应一行输出,仅包含一个正整数,表示看完所有动漫所需最小时间。
样例输入
1
3
4 2 5
1
1 2 1
样例输出
10
题目来源
7B
#include<iostream>#define MAX_N 101int needTime[MAX_N];int main(){//freopen("test.txt","r",stdin);int Q,N,M,i,A,B,D,totalTime;scanf("%d",&Q);while(Q--){scanf("%d",&N);for(i=1;i<=N;i++){scanf("%d",needTime+i);}scanf("%d",&M);for(i=1;i<=M;i++){scanf("%d%d%d",&A,&B,&D);if(needTime[B]>D){needTime[B] = D;}}totalTime = 0;for(i=1;i<=N;i++){totalTime += needTime[i];}printf("%d\n",totalTime);}}
0 0
- 南邮 OJ 2001 水獭看动漫
- NOJ 水獭看动漫 2001
- 南邮 OJ 2000 水獭
- 动漫迷看的一点动漫
- 有很多开发人员都喜欢看动漫?
- 有喜欢看动漫的吗?
- 动漫
- 【蜡笔小新全集】+动漫【灌蓝高手】 高速在线看
- 3D动漫《快乐星猫》抢先看``
- 《灌篮高手》——一部看了n遍的动漫
- 好久没有看动漫看得这么投入,是不是最近压力太大了 T_T
- hdu oj-1175-连连看
- HDU-OJ-1175 连连看
- 好动漫,动漫好。
- [博主正在看]乱马1/2真人版[2011][日本][动漫改编]
- 动漫名词解释
- 日本动漫
- 动漫:大有希望
- 实现二级列表双listview省市选择
- Light Bulb
- Android 在同一个手机上安装多个相同的apk,便于调试
- Java中的可变参数
- EDK2 环境搭建 & Shell-Debug(Microsoft Visual Studio 2013)
- 南邮 OJ 2001 水獭看动漫
- iOS UITableView的基本使用
- 每个Android开发所必须知道的内存管理知识
- SharedPreferences 基本使用
- Codeforces 235B Let's Play Osu!
- GO1.5实现简单的http并发请求,支持:GET、POST、HEAD、PUT
- python正则表达式 re (一)
- [IOS] Swift enum and Struct
- Fragment的进一步使用(二)