話說在2023年,外星人打算來入侵地球,這個訊息被我vijos國的情報部門秘密截獲,於是便打算聯絡世界各個國家,一起研究商量對策。
由於每個國家所需派的技術員人數不同,所以目前無法決定到底要在哪個國家設定個研究所進行研究,幸運的是所有國家都在一條直線上,現在知道每個國家與我國的距離和該國的研究員人數。請你為他們決定一下到底在那個國家建立研究所可以使所有研究員集中到該國的費用最小。
格式輸入檔案每一行描述乙個國家的資訊。
首先是該國派出的技術員人數,緊跟著的是這個城市相對於我國的距離,最後是國家的名稱。
輸出檔案只需要一行,即研究所設定的國家名稱。
樣例輸入1
7 9289 japan
5 8523 america
3 5184 china
8 2213 vijos
10 0 dds
樣例輸出1
vijos
1s內出解
對於30%的資料,國家數不大於100。
對於60%的資料,國家數不大於500。
對於全部的資料,國家數不大於5000。
這是一題一維的帶權中位數,求距離每個國家最近的國家,模板不說了
type
rec=record
x,w:extended;
y:string;
end;
var t:array[1..5000]of rec;
n:longint;
sum:extended;
procedure
qsort
(l,r:longint);
var i,j:longint;
key:extended;
tmp:rec;
begin
if l>=r then
exit;
i:=l;
j:=r;
key:=t[l+random(r-l+1)].x;
repeat
while (t[i].xdo inc(i);
while (t[j].x>key) do dec(j);
if i<=j then
begin
tmp:=t[i];
t[i]:=t[j];
t[j]:=tmp;
inc(i);
dec(j);
end;
until i>j;
qsort(l,j);
qsort(i,r);
end;
function
work:
string;
var i,f:longint;
p:extended;
g:string;
begin
p:=0;
for i:=1
to n do
begin
p:=p+t[i].w;
if p>sum/2
then
begin
f:=i;
break;
end;
end;
g:=t[f].y;
exit(g);
end;
procedure
main;
var ans:string;
begin
qsort(1,n);
ans:=work;
writeln(ans);
end;
procedure
init;
var s:char;
begin
n:=0;
while
not seekeof do
begin
inc(n);
readln(t[n].w,t[n].x,s,t[n].y);
sum:=sum+t[n].w;
end;
end;
begin
init;
main;
end.
中國能否拯救世界
中國能拯救世界嗎?zt 這是最新一期美國 時代 週刊 10日出版 的封面標題。在西方主流 大都對中國充滿挑剔和偏見的時候,時代 週刊對華的溢美之辭顯得非比尋常。這一方面說明西方 審視中國的視野客觀許多,但也警示中國小心,不要為西方主流 吹捧而飄飄然。中國還是要有自知之明!事實證明,中國經濟絕非金融危...
LGP2000 拯救世界
6的倍數 1 1 x 6 最多9塊 1 x 10 1 x 最多5塊 1 x 6 1 x 4的倍數 1 1 x 4 最多7塊 1 x 8 1 x 2的倍數 1 1 x 2 最多1塊 1 x 2 1 x 1 x 8的倍數 1 1 x 8 10的倍數 1 1 x 10 最多3塊 1 x 4 1 x 分子 ...
Luogu2000 拯救世界
生成函式的入門題吧。我們可以把條件限制轉化為生成函式,然後用第i項的係數來表示一共使用n塊石頭的方案個數。你問我為什麼?你可以自己演算一下,或者去看大佬的部落格 這裡面講的是生成函式基礎 這些約束條件的生成函式分別為 我們展開就是答案 c 至於為什麼轉化到了組合數呢?因為5個 frac 就相當於五個...