Pagini recente » Cod sursa (job #421888) | Cod sursa (job #1649446) | Cod sursa (job #1342298) | Cod sursa (job #436638) | Cod sursa (job #1552689)
#include<fstream>
const int NMAX = 100000;
using namespace std;
ifstream cin("buget.in");
ofstream cout("buget.out");
int A[NMAX];
int N,B;
int l,r,s;
int main()
{
cin>>N>>B;
for(int i=1; i<=N; ++i){
cin>>A[i];
if(A[i]>r)
r=A[i];
}
int val=-1;
while(l<=r)
{
int pivot=(l+r)>>1;
s=0;
for(int i=1; i<=N; ++i)
if(A[i]<pivot)
s+=A[i]; else s+=pivot;
if(s==B)
val=pivot;
if(s<=B)
l=pivot+1;
else
r=pivot-1;
}
cout<<r;
return 0;
}