1 条题解
-
0
C++ :
#include <bits/stdc++.h> using namespace std; int n,a,b; int num[500010]; int l = 1,r,mid; //x秒能否烘干衣服 bool check(int x){ int sum = 0; for(int i = 1;i <= n;i++){ //能晒干 if(a * x >= num[i]) continue; if((num[i] - a * x) % b == 0){ sum += (num[i] - a * x) / b; } else{ sum += (num[i] - a * x) / b + 1; } if(sum > x) return false; } return true; } int main(){ scanf("%d%d%d",&n,&a,&b); for(int i = 1;i <= n;i++){ scanf("%d",&num[i]); r = max(r,num[i]); } while(l <= r){ mid = l + r >> 1; if(check(mid)) r = mid - 1; else l = mid + 1; } cout<<l; return 0; }
- 1
信息
- ID
- 1106
- 时间
- 1000ms
- 内存
- 512MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者