#include #include #include #include #include #include using namespace std; int N; long long T; long long a[100005]; int calc(int k) { queueq; int pos=0; long long sum=0; if((N-1)%(k-1)!=0&&N>k) ///如果不能k个k个合并到底,则先合并筹不足k个的; { pos=(N-1)%(k-1)+1; for(int i=0;ia[pos]) { sum2+=a[pos]; sum+=a[pos]; pos++; } else { sum2+=q.front(); sum+=q.front(); q.pop(); } } else if(posT) return 0; if(pos>1; int f=calc(mid); if(f==0) l=mid+1; else r=mid-1; } printf("%d\n",l); } return 0; }