フォーブス誌は毎年、世界の裕福な人々の年間ランキングに基づいて、億万長者のリストを公開しています。今、あなたはこの仕事をシミュレートするが、唯一の年齢層の特定の範囲の人々に集中することになっています。それはの純資産与えられた、ある Nの人々 、あなたが見つけなければならない 彼らの年齢の与えられた範囲内でM裕福な人を。
入力仕様:
各入力ファイルには、1つのテストケースが含まれています。各場合について、最初の行は、2つの正の整数含ま: N(≤) -人の総数、及び K(≤) -クエリの数。その後、 N行は、それぞれが[に名前(スペースなしなし以上8文字以内の文字列)、年齢(整数(0、200])、および純資産(整数が含まれ、続く- 。)]人の最後にあります クエリのK線は、それぞれ3つの正の整数含ま: M(≤) -出力の最大数、および[ Amin
、 Amax
。年齢の範囲である]の行のすべての数字は、スペースで区切られています。
出力仕様:
各クエリ、行の最初の印刷のための クエリ数は1、出力から開始される 範囲の年齢を有するM裕福な人々を、[ 、 ]。各個人の情報は形式で、行を占めていますCase #X:
X
Amin
Amax
Name Age Net_Worth
出力は純資産の非昇順でなければなりません。場合等しいworthsがあり、それは年齢の非減少順でなければなりません。worthsと年齢の両方が同じである場合、出力は名前のアルファベット順に非減少でなければなりません。何の二人は、すべての3つの情報の同じ共有していないがあることが保証されています。場合には誰もが、出力は検出されませんでした None
。
サンプル入力:
12 4
Zoe_Bill 35 2333
Bob_Volk 24 5888
Anny_Cin 95 999999
Williams 30 -22
Cindy 76 76000
Alice 18 88888
Joe_Mike 32 3222
Michael 5 300000
Rosemary 40 5888
Dobby 24 5888
Billy 24 5888
Nobody 5 0
4 15 45
4 30 35
4 5 95
1 45 50
サンプル出力:
Case #1:
Alice 18 88888
Billy 24 5888
Bob_Volk 24 5888
Dobby 24 5888
Case #2:
Joe_Mike 32 3222
Zoe_Bill 35 2333
Williams 30 -22
Case #3:
Anny_Cin 95 999999
Michael 5 300000
Alice 18 88888
Cindy 76 76000
Case #4:
None
余分なコピー:タイムアウトの理由を分析
vector.push_back(TMP);あなたのコードでは、scanf関数( "XX"、&tmp.xx)ではありません。
これは非常に時間のかかる余分なコピーであります
書式#include <iostreamの> の#include <アルゴリズム> 使用して 名前空間はstdを、 構造体PEO { 文字列名。 int型の年齢、net_worth。 } V [ 100005 ]。 整数 N、K、M、after_m、_max、_min、P = 0 。 ブールCMP(PEO P1、P2 PEO){ 場合(p1.net_worth = p2.net_worth!)リターン p1.net_worth> p2.net_worth。 もし(p1.age = p2.age!)リターン p1.age < p2.age。 リターン p1.name < p2.name。 } int型のmain(){ のscanf("%D%D "、&N&K)。 一方、(N-- ){ V [P] .name.resize(10 )。 scanf関数(" %sの%D%D "、V [P] .name.c_str()、&V [P] .age、&V [P] .net_worth)。 P ++ ; } ソート(V、V + P、CMP)。 以下のために(INT iが= 1 ; I <= K; I ++ ){ scanf関数(" %D%D%D "、&M、&_min、&_max)。 printf(" ケース#%dの:\ nは" after_m =M; 用(INT J = 0 ; J <P; J ++ ) 場合(V [J] .age> = _min && V [J] .age <= _max) であれば(after_m--)のprintf(" %sの%D%D \ n " 、V [J] .name.c_str()、V [J] .age、V [J] .net_worth)。 他に 休憩; もし(M == after_m)のprintf(" なし\ N " ); } システム(「一時停止」)。 リターン 0 ; }