| Run ID | Author | Problem | Lang | Verdict | Score | Time | Memory | Code Length | Submit Time |
|---|---|---|---|---|---|---|---|---|---|
| 109597 | 凌艺樽 | 花费 | C++ | Wrong Answer | 0 | 0 MS | 248 KB | 612 | 2023-11-09 20:43:10 |
#include <bits/stdc++.h> using namespace std; const int N=1e5+10; const int INF=0x3f3f3f3f; long long maxx; int minn=INF; int a[N],n,m; bool check(long long x) { int sum=0,f=0; for(int i=1;i<=n;i++) { if(sum+a[i]>x) { f++; sum=a[i]; } else { sum+=a[i]; } } return f<=m; } int main() { cin>>n>>m; for(int i=1;i<=n;i++) { cin>>a[i]; maxx+=a[i]; minn=min(minn,a[i]); } long long l=1,r=maxx+10; while(l<r) { long long mid=l+r>>1; if(check(mid)) r=mid; else l=mid+1; } cout<<r; return 0; }