Code
1 int bin(int a,int b)
2 {
3 int ttl,mid,t,minp;
4 int re=0;
5 vector<ss>::iterator it;
6 bool flag;
7 while(a<b)
8 {
9 mid=(a+b)/2;
10 ttl=0;
11 for(t=0;t<=pv;t++)
12 {
13 flag=true;
14 minp=0x7fffffff;
15 for(it=vec[t].begin();it!=vec[t].end();++it)
16 if((it->q)>=mid && (it->p)<minp)
17 {
18 flag=false;
19 minp=it->p;
20 }
21 if(flag)
22 {
23 ttl=0x7fffffff;
24 break;
25 }
26 ttl+=minp;
27 }
28 if(ttl<=SUM)
29 {
30 if(re<mid)
31 re=mid;
32 a=mid+1;
33 }
34 else
35 b=mid;
36 }
37 return re;
38 }
posted @
2008-08-14 19:56
DosXP
阅读(
308)
评论()
编辑
收藏
举报