【題目描述】
約翰留下他的n(n<=100000)只奶牛上山採木.他離開的時候,她們像往常一樣悠閒地在草場裡吃草.可是,當他回來的時候,他看到了一幕慘劇:牛們正躲在他的花園裡,啃食著他心愛的美麗花朵!為了使接下來花朵的損失最小,約翰趕緊採取行動,把牛們送回牛棚. 牛們從1到n編號.第i隻牛所在的位置距離牛棚ti(1≤ti≤2000000)分鐘的路程,而在約翰開始送她回牛棚之前,她每分鐘會啃食di(1≤di≤100)朵鮮花.無論多麼努力,約翰一次只能送乙隻牛回棚.而運送第第i隻牛事實上需要2ti分鐘,因為來回都需要時間. 寫乙個程式來決定約翰運送奶牛的順序,使最終被吞食的花朵數量最小.
【輸入格式】
第1行輸入n,之後n行每行輸入兩個整數ti和di
【輸出格式】
乙個整數,表示最小數量的花朵被吞食
【樣例輸入】
3 12 5
2 33 2
4 11 6
【樣例輸出】
【樣例解釋】
約翰用6,2,3,4,1,5的順序來運送他的奶牛
貪心,類似於國王遊戲,只不過國王遊戲需要高精度(還不去填坑
設s=∑(di)
ans=min
設2t[i]*(s-d[i])<2t[j]*(s-d[j])
可得t[i]/t[j]<(s-d[j])/(s-d[i])
顯然t[i]兩式相乘t[i]*d[j]證畢
1 #include2 #include3using
namespace
std;45
struct
data
6q[100001];9
long
long n,sum=0,ans=0;10
11bool
cmp(data a,data b)
1215
16int
main()
1724 sort(q+1,q+n+1
,cmp);
25for(int i=1;i<=n;i++)
2630 cout31return0;
32 }
noip模擬賽 密碼
表示沒看懂演算法3 問題描述 有壓迫,就有反抗。mored的寵物在法庭的幫助下終於反抗了。作為乙隻聰明的寵物,他打算把魔法使mored的魔法書盜去,奪取mored的魔法能力。但mored怎麼會讓自己的魔法書輕易地被盜取?mored在魔法書上設定了乙個密碼鎖,密碼鎖上有乙個問題。施以斯臥鋪魔法吧,你有...
NOIP模擬賽 老師
題目描述 一座有n層的教學樓裡有一些學生,第i 0 i n 層有studentsi個學生。你被給定了乙個數k,如果第i層有x個學生,那麼這一層需要 x k 個老師。你可以調整每個學生的樓層,但是每個學生至多只能調整一層,就是說第i層的學生只能去第i 1層 如果有的話 第i層 第i 1層 如果i 1 ...
NOIP模擬賽 分錢
題目描述 兩個人在街上撿到了一些錢,這些錢共有n張,他們等了很久也沒有等來失主,於是決定把錢平分。但錢可能無法平分。他們先把能夠平分的錢盡量先平分了,使得剩下不能平分的錢盡量少。這些不能平分的錢怎麼辦呢他?他們決定拿去賭場裡面賭一把。他們運氣太好了,那些不能平分的錢變成了雙倍,於是他們就把那個錢分了...