time limit:1000 ms memory limit:131072 kb
對於csuxushu來說,能夠在csu(california state university)上學是他一生的榮幸,而換校區搬寢室則是他最大的不幸。順利通過省賽選拔,開心的csuxushu現在需要著手準備搬家事宜。
對於好學的csuxushu來說,唯一頭疼的就是書籍的搬運了,因為他的書實在是太多了。為了防止書籍在運輸過程中受損,他打算定製特製的儲物保護箱。為了簡單起見,我們假設他所有的書都是一樣規格。由於是批量定製,這些儲物箱都有相同的長度l,寬度和厚度都是一本書的寬度和厚度。csuxushu有乙個特殊的要求,那就是每個儲物箱最多只能放兩本書。當然,他需要運走所有的n本書,並且每乙個儲物箱裡書的總長度不能超過l。
儘管校隊隊員給了csuxushu許多獎勵,csuxushu還是想定盡可能少的儲物箱,以求節約經費,然而面對這麼困難的問題他顯然是一臉懵逼,這時候他想到了你——全csu最厲害的程式設計師來幫助他解決這個問題。
第一行乙個整數t,代表有t組資料,之後乙個空行並且接下來每兩組資料之間有乙個空行。
每組資料第一行,為1個整數n (1 ≤ n ≤ 10^5),代表有n本書。第二行,為1個整數l ,1≤l ≤ 10000 ,為特製儲物箱長度。接下來n行,分別為每本書的長度li,li≤l。
每組資料輸出一行,即csuxushu至少需要定多少儲物箱。相鄰兩組資料之間輸出乙個空行以示區分。
直接貪心。。根據書的長度排序,一邊從左往右,一邊從右往左,配對,如果和小於l就成功,否則右邊的繼續往左走。最後直接用書的總數減去配對的書的數量就可以得到答案了
#include
#include
#include
#include
#define mem(a,b) memset(a,b,sizeof(a))
using
namespace
std;
const
int maxn=1e5+5;
int a[maxn];
int main()
sort(a,a+n);
int cnt=0,len=n-1;
for(int i=0;a[i]&&iwhile(a[len]+a[i]>l&&a[len]!=0)
if(a[len]+a[i]<=l&&a[len]!=0&&i!=len)
}printf("%d\n",n-cnt);
if(t!=0)
printf("\n");
}return
0;}
(CSU 1775)悲催的移寢
time limit 1 sec memory limit 128 mb submitted 284 solved 103對於csuxushu來說,能夠在csu california state university 上學是他一生的榮幸,而換校區搬寢室則是他最大的不幸。順利通過省賽選拔,開心的csu...
CSU 1775 悲催的移寢 貪心
悲催的移寢 time limit 1000ms memory limit 131072kb 64bit io format lld llu submit status description 對於csuxushu來說,能夠在csu california state university 上學是他一生...
悲催的IT 屌絲
突然發現好久沒有在這兒裡寫部落格了。忙,統一的,不變的藉口。哈哈。這一兩年來,越來越覺得it的業從業者的悲催。稱之為屌絲一點也不為過。現如之的專案越來越難打了,也越來越難做了。乙個專案要運作很久,有的都可以長到幾年。再短的也得半年,單子的額度也許並不大。但是我們面對的客戶都很nb。有人說,這是賣方市...