diff --git a/HDOJ/5884_chen9510.cpp b/HDOJ/5884_chen9510.cpp new file mode 100644 index 0000000..4f83af7 --- /dev/null +++ b/HDOJ/5884_chen9510.cpp @@ -0,0 +1,81 @@ +#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; +}