

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 191Output for sample input
4 8 38 207
Piotr Rudnicki
题意:蚂蚁在木棍上爬,速度1cm/s,给出木棍长度和每只蚂蚁的位置,问蚂蚁全部下木棍的最长时间和最短时间。
思路:典型的贪心题目,所有的蚂蚁往一个方向走的时候才会有最大值最小值。
代码:
#includeusing 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<