Getting WA...plz help
#include<algorithm>
#include<iostream>
#include<stdio.h>
using namespace std;
typedef long long int intl;
#define REP(i,a,b) for(i=a;i<b;i++)
#define rep(i,n) REP(i,0,n)
intl max(intl a,intl b)
{
if(a>b)
return a;
else
return b;
}
intl solve(intl ar[],intl mx1,intl m,intl n)
{
intl l=0,r=mx1-1,wud,i,mi;
while(l<r)
{
wud=0;
mi=(l+r)/2;
rep(i,n)
wud+=max(ar[i]-mi,0);
//if(wud==m)
// return l;
if(wud>m)
{
l=mi+1;
// return l;
}
else
r=mi-1;
}
return l;
}
int main()
{
intl n,m,i,j,a;
intl mx1=0LL;
cin>>n>>m;
intl ar[n];
//cout<<n<<endl;
i=0;
rep(i,n)
{
cin>>ar[i];
}
i=0;
rep(i,n)
{
if(ar[i]>mx1)
mx1=ar[i];
}
//cout<<mx1<<endl;
intl ans=solve(ar,mx1,m,n);
cout<<ans;
return 0;
}
created
last reply
- 5
replies
- 565
views
- 5
users
- 2
links