CyberPsychosis @ 2023-11-16 21:24:11
#include<bits/stdc++.h>
using namespace std;
int N,M,A[100001];
int mxn[100001],item;
int ans=1919810;
void s(int f1,int f2)
{
int max=0;
int r=0;
for(int i=f1;i<=f1+f2;i++)
{
r+=A[i];
}
mxn[item]=r;
item++;
for(int i=1;i<N-f1-f2;i++)
{
if(f1+f2+1>=N-1)
{
int m=0;
for(int i=0;i<100001;i++)
{
if(m<mxn[i])
{
m=mxn[i];
}
}
if(m<ans)
{
ans=m;
return ;
}
}
else
{
s(f1+f2+1,i);
}
}
}
int main()
{
cin>>N>>M;
for(int i=0;i<N;i++)
{
cin>>A[i];
}
if(N==M)
{
int min=9999999;
for(int i=0;i<N;i++)
{
if(A[i]<min)
{
min=A[i];
}
}
cout<<min;
return 0;
}
for(int i=0;i<=N;i++)
{
for(int j=1;N-j+1<=M;j++)
{
s(i,j);
}
}
cout<<ans;
return 0;
}
不会二分
by SNXL @ 2024-02-06 13:46:16
搜索好像不行 @HYJHELLO