1 条题解
-
0
C++ :
#include <cstdio> typedef long long ll; static ll a[1000005]; int main(){ int N; ll M; if(scanf("%d %lld", &N, &M) != 2) return 0; ll hi = 0; for(int i=0;i<N;i++){ scanf("%lld", &a[i]); if(a[i] > hi) hi = a[i]; } ll lo = 0, ans = 0; while(lo <= hi){ ll mid = lo + (hi - lo) / 2; ll got = 0; for(int i=0;i<N;i++) if(a[i] > mid) got += a[i] - mid; if(got >= M){ ans = mid; lo = mid + 1; } else hi = mid - 1; } printf("%lld\n", ans); return 0; }
- 1
信息
- ID
- 2790
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者