結果

問題 No.580 旅館の予約計画
ユーザー ikd
提出日時 2017-11-09 19:51:36
言語 D
(dmd 2.109.1)
結果
WA  
実行時間 -
コード長 850 bytes
コンパイル時間 1,047 ms
コンパイル使用メモリ 124,588 KB
実行使用メモリ 6,948 KB
最終ジャッジ日時 2024-06-12 22:20:55
合計ジャッジ時間 2,141 ms
ジャッジサーバーID
(参考情報)
judge5 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 9 WA * 27
権限があれば一括ダウンロードができます

ソースコード

diff #
プレゼンテーションモードにする

void main(){
import std.stdio, std.string, std.conv, std.algorithm;
import std.typecons, std.container;
int n, m; rd(n, m);
auto seq=new Tuple!(int, int)[](m);
foreach(i; 0..m){
int d1, d2;
string t1, t2;
rd(d1, t1, d2, t2);
auto st=d1*24*60+to!(int)(t1[0..2])*60+to!(int)(t1[3..$]);
auto ed=d2*24*60+to!(int)(t2[0..2])*60+to!(int)(t2[3..$]);
seq[i]=Tuple!(int, int)(st, ed);
}
sort!"a[1]<b[1]"(seq);
alias P=Tuple!(int, int);
auto Q=new BinaryHeap!(Array!P, "a[0]>a[1]");
auto sum=0;
foreach(e; seq){
while(Q.length>0 && Q.front[1]<e[0]) Q.removeFront;
if(Q.length<n)Q.insert(P(e)), sum++;
}
writeln(sum);
}
void rd(T...)(ref T x){
import std.stdio, std.string, std.conv;
auto l=readln.split;
assert(l.length==x.length);
foreach(i, ref e; x){
e=l[i].to!(typeof(e));
}
}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0