提交时间:2024-01-09 20:58:43

运行 ID: 36169

#include<bits/stdc++.h> using namespace std; int n,m,a[10005]; int j(int x){ int money=0,month=0,d,i; for(i=1;i<n;i++){ if(money>=x){ month++; if(a[i]<x)money=a[i]; else return 1; } } return month>=money; } int main(){ int l,r,md; int to=0; cin>>n>>m; for(int i=1;i<=n;i++){ cin>>a[i]; to+=a[i]; } l=1; r=to; while(l+1<r){ md=(l+r)/2; if(j(md))l=md; else r=md; } if(j(l))cout<<l<<endl; else cout<<r<<endl; return 0; }