Codeforces Round_(rated,Div.2,based on VK Cup 2018 Round 3)ABC
5237 ワード
A.Mind the Gap
転送ゲート:http://codeforces.com/contest/967/problem/A
タイトルの大意:
n個の飛行機の着陸時間と時間差を与えて、離陸と着陸には1分間かかります.つまり時間差はs+1です.今はもう一つの飛行機の出発時間を挿入します.このn+1時間はまだ二つの間のs+1分の差を維持します.
ACコード:
転送ゲート:http://codeforces.com/contest/967/problem/B
タイトルの大意:
一つの水道管はn個の穴があります.穴の大きさはそれぞれs 1、s 2…snです.Aリットルの水を入れると、各穴から(si*A)/Sリットルの水が流れ出ます.その中のSは穴の大きさの和です.すみません、一番目の穴から少なくともBリットルの水が流れ出ます.(明らかに最初の穴は閉じられていません)
考え方:
最初の穴から出る水は(s 1*A)/Sです.中にはSだけが変化します.順番を決めて最大の初めから封じればいいです.
ACコード:
転送ゲート:http://codeforces.com/contest/967/problem/C
タイトルの大意:
n*mのビルには階段とエレベーターがあり、それぞれclとceの列に分布しています.階段は1階ごとに1つの時間単位がかかります.エレベーターはvビルを歩くごとに1つの時間単位がかかります.もちろん同じ階で左右に1つの時間単位がかかります.問(x 1,y 1)から(x 2,y 2)までの最短時間はいくつかの時間単位が必要ですか?
考え方:
同じ階ではない場合は、階段とエレベーターをそれぞれ一回計算して最小値を求めます.垂直方向の距離は直接abs(y 2-y 1)です.もし横の階段/エレベーターがx 1とx 2の間にあるならば、距離はabs(x 2-x 1)で、そうでなければx 1から一番近い階段/エレベーターを選んでください.距離はdであると仮定して、距離はabs(x 2-x 1)+2*dです.
同じ階にいるなら、階段やエレベーターを探さずにまっすぐ行けばいいです.
ACコード:
転送ゲート:http://codeforces.com/contest/967/problem/A
タイトルの大意:
n個の飛行機の着陸時間と時間差を与えて、離陸と着陸には1分間かかります.つまり時間差はs+1です.今はもう一つの飛行機の出発時間を挿入します.このn+1時間はまだ二つの間のs+1分の差を維持します.
ACコード:
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
B.Watering System転送ゲート:http://codeforces.com/contest/967/problem/B
タイトルの大意:
一つの水道管はn個の穴があります.穴の大きさはそれぞれs 1、s 2…snです.Aリットルの水を入れると、各穴から(si*A)/Sリットルの水が流れ出ます.その中のSは穴の大きさの和です.すみません、一番目の穴から少なくともBリットルの水が流れ出ます.(明らかに最初の穴は閉じられていません)
考え方:
最初の穴から出る水は(s 1*A)/Sです.中にはSだけが変化します.順番を決めて最大の初めから封じればいいです.
ACコード:
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
C.Stirs and Elevators転送ゲート:http://codeforces.com/contest/967/problem/C
タイトルの大意:
n*mのビルには階段とエレベーターがあり、それぞれclとceの列に分布しています.階段は1階ごとに1つの時間単位がかかります.エレベーターはvビルを歩くごとに1つの時間単位がかかります.もちろん同じ階で左右に1つの時間単位がかかります.問(x 1,y 1)から(x 2,y 2)までの最短時間はいくつかの時間単位が必要ですか?
考え方:
同じ階ではない場合は、階段とエレベーターをそれぞれ一回計算して最小値を求めます.垂直方向の距離は直接abs(y 2-y 1)です.もし横の階段/エレベーターがx 1とx 2の間にあるならば、距離はabs(x 2-x 1)で、そうでなければx 1から一番近い階段/エレベーターを選んでください.距離はdであると仮定して、距離はabs(x 2-x 1)+2*dです.
同じ階にいるなら、階段やエレベーターを探さずにまっすぐ行けばいいです.
ACコード:
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include