思路:在前m个水龙头中的最小时间值加上后面的没有加入的时间值,这样前m个时间值的最大值就是答案
代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,m;
scanf("%d%d",&n,&m);
int w[m+2];
for(int i=1;i<=m;i++)
{
scanf("%d",&w[i]);
}
if(m<n)
{
for(int i=1;i<=n-m;i++)//n-m=2
{
int MIN=10000,MINNUM;
for(int j=1;j<=m;j++)
{
if(w[j]<MIN)
{
MINNUM=j;
MIN=w[j];
}
}
w[MINNUM]+=w[i+m];
}
}
else
{
m=n;
}
int MAX=-10000;
for(int i=1;i<=m;i++)
{
MAX=max(MAX,w[i]);
}
printf("%d",MAX);
return 0;
}