Codeforce ---------マインドギャップ

これらの日のArkadyは、大規模な空港で航空交通コントローラとして動作します。彼は、通常は着陸のために使用されている滑走路を制御します。したがって、彼は、最も近い将来に着陸している平面のスケジュールを有し、各乗場11分続きます。
彼は、スケジュール内の1つの離陸を挿入するよう求めました。離陸11分自体がかかりますが、安全上の理由のために離陸及び両側から少なくともSS分の着陸の間の時間間隔が存在すべきです。
アルカディが離陸を挿入できる最も早い時間を検索します。
スケジュール上の着陸の数と(分)の最小許容時間と-入力のInputThe最初の行はNN二つの整数とSS(1≤n≤1001≤n≤100、1≤s≤601≤s≤60)が含まれ着陸と離陸。
飛行機が着陸する時期電流から出発し、時間、時間及び分で-次NN行のそれぞれ2つの整数のHHとMM(0≤h≤230≤h≤23、0≤m≤590≤m≤59)が含まれモーメント(すなわち、現在の時刻が00 00です)。これらの時間はorder.OutputPrint二つの整数のHHとミリメートルの増加に与えられている-最も早い時間アルカディの現在の瞬間から時間と分は離陸を挿入することができます。

入力

6 60
0 0
1 20
3 21
5 0
19 30
23 40
出力
6 1
入力
16 50
0 30
1 20
3 0
4 30
6 10
7 50
9 30
11 10
12 50
14 30
16 10
17 50
19 30
21 10
22 50
23 59
出力
24 50
入力
3 17
0 30
1 0
12 0
出力
0
各着陸及び離陸が1分を取るため、1時20分と午前3時21分の間に十分な時間がないことを第一の例ノートNoteIn。
アンSECONDでは、例のすべての着陸後にNOザ・スケジュールの中GAPS、SOアルカディCANのみ追加離陸あります。ITは、離陸時INSERTへの最後の2424時間内でより一つべきだと待機可能である。
THIRDでアンで、離陸の例アルカディCAN INSERTでも。最初の着陸の間に
着陸航空機および航空機の当たり2機の航空機の入力番号の最初の行との間の差の必要性:影響を受けます。
後続の各ライン入力は、一時間前に、航空機を着陸させる時間である1分後、着陸および離陸の間の間隔をする必要があり、離陸及び毎分着陸します。出力はあなたが離陸することができます初めてです
アイデア:そこの両方の分の時間の時間は、そう、さまざまな状況で、数分でこの団結を取る0:00で土地に最初の航空機の前に(オフ見ることができないので、直接、そして、最後の飛行機ではなく、仕事に列挙すれば、私ができる場合(航空機の2 2 * S + 2着地時刻との間の時間であれば)離陸の途中で見た後+ 1時間sが)があり、最後の飛行機は離陸S + 1時間後に着陸しました。

#include <iostream>
#include <cstdio>

using namespace std;

const int N = 100 + 10;

int times[N];

int main(){
	int n, s;
	cin >> n >> s;

for (int i = 1; i <= n; i ++){
		int a, b;
		scanf("%d%d",&a, &b);
		times[i] = a * 60 + b;
	}

if (times[1] - s - 1 >= 0){
		cout << 0 << " " << 0 << endl;
		return 0;
	}

bool success = true;
	for (int i = 2; i <= n; i ++){
		if (times[i - 1] + 2 * s + 2 > times[i])  continue;
		else{
			int x = times[i - 1] + s + 1;
			printf("%d %d\n",x / 60, x % 60);
			success = false;
			break;
		} 
	}
	if (success){
		int x = times[n] + s + 1;
		printf("%d %d\n",x / 60, x % 60);
	}

return 0;
}
公開された106元の記事 ウォン称賛67 ビュー5441

おすすめ

転載: blog.csdn.net/qq_45772483/article/details/104741091
おすすめ