[贪心]UVA10714 Ants

2014-11-24 11:34:46 · 作者: · 浏览: 0

\\

Problem B: Ants

An army of ants walk on a horizontal pole of length l cm, each with a constant speed of 1 cm http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcy4gV2hlbgogYSB3YWxraW5nIGFudCByZWFjaGVzIGFuIGVuZCBvZiB0aGUgcG9sZSwgaXQgaW1tZWRpYXRlbGx5IGZhbGxzIG9mZiBpdC4gV2hlbiB0d28gYW50cyBtZWV0IHRoZXkgdHVybiBiYWNrIGFuZCBzdGFydCB3YWxraW5nIGluIG9wcG9zaXRlIGRpcmVjdGlvbnMuIFdlIGtub3cgdGhlIG9yaWdpbmFsIHBvc2l0aW9ucyBvZiBhbnRzIG9uIHRoZSBwb2xlLCB1bmZvcnR1bmF0ZWx5LCB3ZSBkbyBub3Qga25vdyB0aGUgZGlyZWN0aW9ucyBpbiB3aGljaCB0aGUKIGFudHMgYXJlIHdhbGtpbmcuIFlvdXIgdGFzayBpcyB0byBjb21wdXRlIHRoZSBlYXJsaWVzdCBhbmQgdGhlIGxhdGVzdCBwb3NzaWJsZSB0aW1lcyBuZWVkZWQgZm9yIGFsbCBhbnRzIHRvIGZhbGwgb2ZmIHRoZSBwb2xlLgo8cD48L3A+CjxwPlRoZSBmaXJzdCBsaW5lIG9mIGlucHV0IGNvbnRhaW5zIG9uZSBpbnRlZ2VyIGdpdmluZyB0aGUgbnVtYmVyIG9mIGNhc2VzIHRoYXQgZm9sbG93LiBUaGUgZGF0YSBmb3IgZWFjaCBjYXNlIHN0YXJ0IHdpdGggdHdvIGludGVnZXIgbnVtYmVyczogdGhlIGxlbmd0aCBvZiB0aGUgcG9sZSAoaW4gY20pIGFuZCA8ZW0+bjwvZW0+LCB0aGUgbnVtYmVyIG9mIGFudHMgcmVzaWRpbmcKIG9uIHRoZSBwb2xlLiBUaGVzZSB0d28gbnVtYmVycyBhcmUgZm9sbG93ZWQgYnkgPGVtPm48L2VtPiBpbnRlZ2VycyBnaXZpbmcgdGhlIHBvc2l0aW9uIG9mIGVhY2ggYW50IG9uIHRoZSBwb2xlIGFzIHRoZSBkaXN0YW5jZSBtZWFzdXJlZCBmcm9tIHRoZSBsZWZ0IGVuZCBvZiB0aGUgcG9sZSwgaW4gbm8gcGFydGljdWxhciBvcmRlci4gQWxsIGlucHV0IGludGVnZXJzIGFyZSBub3QgYmlnZ2VyIHRoYW4gMTAwMDAwMCBhbmQgdGhleSBhcmUgc2VwYXJhdGVkCiBieSB3aGl0ZXNwYWNlLjwvcD4KPHA+Rm9yIGVhY2ggY2FzZSBvZiBpbnB1dCwgb3V0cHV0IHR3byBudW1iZXJzIHNlcGFyYXRlZCBieSBhIHNpbmdsZSBzcGFjZS4gVGhlIGZpcnN0IG51bWJlciBpcyB0aGUgZWFybGllc3QgcG9zc2libGUgdGltZSB3aGVuIGFsbCBhbnRzIGZhbGwgb2ZmIHRoZSBwb2xlIChpZiB0aGUgZGlyZWN0aW9ucyBvZiB0aGVpciB3YWxrcyBhcmUgY2hvc2VuIGFwcHJvcHJpYXRlbHkpIGFuZAogdGhlIHNlY29uZCBudW1iZXIgaXMgdGhlIGxhdGVzdCBwb3NzaWJsZSBzdWNoIHRpbWUuPC9wPgo8aDM+U2FtcGxlIGlucHV0PC9oMz4KPHByZSBjbGFzcz0="brush:java;"> 2 10 3 2 6 7 214 7 11 12 7 13 176 23 191

Output for sample input

4 8
38 207

Piotr Rudnicki

题意:蚂蚁在木棍上爬,速度1cm/s,给出木棍长度和每只蚂蚁的位置,问蚂蚁全部下木棍的最长时间和最短时间。

思路:典型的贪心题目,所有的蚂蚁往一个方向走的时候才会有最大值最小值。

代码:

#include 
  
   

using namespace std;

int len,T,_min,_max,num;
int dis;

int main()
{
    cin>>T;
    while(T--)
    {
        cin>>len>>num;
        _min = -1;
        _max = -1;
        for(int i = 0;i < num;i++)
        {
            cin>>dis;
            int _min_temp = min(dis,len - dis);
            int _max_temp = max(dis,len - dis);
            _min = max(_min,_min_temp);
            _max = max(_max,_max_temp);
        }
        cout<<_min<<" "<<_max<