记录编号 | 334661 | 评测结果 | AAAAAAAAAA | ||
---|---|---|---|---|---|
题目名称 | 167.[USACO Mar07] 月度花费 | 最终得分 | 100 | ||
用户昵称 | 是否通过 | 通过 | |||
代码语言 | C++ | 运行时间 | 0.045 s | ||
提交时间 | 2016-11-01 13:36:56 | 内存使用 | 0.60 MiB | ||
#include<cstdio> const int N=100010; int n,m,a[N]; int erfen(int l,int r){ if (l==r) return l; int mid=(l+r)>>1,p=0,cnt=1; for (int i=1;i<=n;i++) if (a[i]-a[p]>mid) cnt++,p=i-1; return cnt<=m?erfen(l,mid):erfen(mid+1,r); } int main() { freopen("expense.in","r",stdin); freopen("expense.out","w",stdout); scanf("%d%d",&n,&m); int Max=0; for (int i=1;i<=n;i++){ scanf("%d",&a[i]); if (a[i]>Max) Max=a[i]; a[i]+=a[i-1]; } printf("%d\n",erfen(Max,a[n])); return 0; }