Codeforces Beta Round #63 (Div. 2)
来源:互联网 发布:网件的访客网络 编辑:程序博客网 时间:2024/06/13 13:01
题目叙述:
In Chelyabinsk lives a much respected businessman Nikita with a strange nickname "Boss". Once Nikita decided to go with his friend Alex to the Summer Biathlon World Cup. Nikita, as a very important person, received a token which allows to place bets on each section no more than on one competitor.
To begin with friends learned the rules: in the race there are n sections of equal length and m participants. The participants numbered from1 to m. About each participant the following is known:
- li — the number of the starting section,
- ri — the number of the finishing section (li ≤ ri),
- ti — the time a biathlete needs to complete an section of the path,
- ci — the profit in roubles. If thei-th sportsman wins on one of the sections, the profit will be given to the man who had placed a bet on that sportsman.
The i-th biathlete passes the sections fromli tori inclusive. The competitor runs the whole way in(ri - li + 1)·ti time units. It takes him exactlyti time units to pass each section. In case of the athlete's victory onk sections the man who has betted on him receivesk·ci roubles.
In each section the winner is determined independently as follows: if there is at least one biathlete running this in this section, then among all of them the winner is the one who has ran this section in minimum time (spent minimum time passing this section). In case of equality of times the athlete with the smaller index number wins. If there are no participants in this section, then the winner in this section in not determined. We have to say that in the summer biathlon all the participants are moving at a constant speed.
We should also add that Nikita can bet on each section and on any contestant running in this section.
Help the friends find the maximum possible profit.
此题易于理解:
解题思路:
水题,思路直接看代码:
我的代码:
#include<iostream>using namespace std;int main(){ int n,m; int a[105]={0}; //下标代表每一个选手,a代表起始 int b[105]={0}; //b代表终止 int c[105]={10000}; //c代表时间 int d[105]={0}; //d代表赌注 int _min=0; //找到最小的时间。 int sum=0; int flag=1; //判断某一段是否没有选手 cin>>n>>m; for(int i=1;i<=m;i++) { cin>>a[i]>>b[i]>>c[i]>>d[i]; } for(int i=1;i<=n;i++) //每一段 { for(int j=1;j<=m;j++) //每一位选手 //for(int j=1;i>=a[j]&&i<=b[j]&&j<=m;j++) //这样的判定条件是错误的,当二选手不满足条件时,三四选手不参与到循环 { if(i>=a[j]&&i<=b[j]) { if(c[_min]>c[j]) //c[_min]的起始值必须比所有值都大。 { _min=j; } flag=0; } } if(flag) _min=0; sum+=d[_min]; _min=0; flag=1; } cout<<sum<<endl; return 0;}
- Codeforces Beta Round #63 (Div. 2)
- Codeforces Beta Round #63 (Div. 2)
- Codeforces Beta Round #63 (Div. 2) E题
- Codeforces Beta Round #65 (Div. 2)
- Codeforces Beta Round #67 (Div. 2) ABCD
- Codeforces Beta Round #80 (Div. 2 Only)
- Codeforces Beta Round #83 (Div. 2 Only)
- Codeforces Beta Round #86 (Div. 2 Only)
- Codeforces Beta Round #85 div 2
- Codeforces Beta Round #93 (Div. 2 Only)
- Codeforces Beta Round #95 (Div. 2)
- Codeforces Beta Round #96 (Div. 2)
- Codeforces Beta Round #96 (Div. 2)
- Codeforces Beta Round #96 (Div. 2) (DP)
- Codeforces Beta Round #95 (Div. 2)
- Codeforces Beta Round #95 (Div. 2)
- Codeforces Beta Round #95 (Div. 2)
- Codeforces Beta Round #95 (Div. 2)
- ubuntu下使用pre-trained模型测试caffe,找不到caffe 和 protobuf的错误
- Android 如何使用GPU硬件加速
- Codeforces 508D Tanya and Password 欧拉通路Euler
- windows server2003与2008的区别总结
- Linux学习笔记
- Codeforces Beta Round #63 (Div. 2)
- HDU 1213 How Many Tables(kuangbin带你飞 专题五:并差集)
- Q9.10 To build the tallest stack
- ios 页面传值
- poj1845
- 检测 Linux 内存使用情况的 free 命令的10个例子
- 模型选择与特征选择
- Android 4.4 Graphic Architecture
- Hive严格模式