noip2010普及组复赛接水问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了noip2010普及组复赛接水问题相关的知识,希望对你有一定的参考价值。
给代码,但是最好有解释,别人的我看不懂……
拜托拜托!!!!!!!急用呀!!!!!今晚一定要用的!!!!!
int a[100+10];//水龙头数
int b[10000+10];//人数
int findmax(int *a,int b,int e)
int i;
int max=0;
int k;
for(i=b;i<=e;i++)
if(max<a[i])
max=a[i];
k=i;
return k;
int findmin(int *a,int b,int e)
int i;
int min=999999;
int k;
for(i=b;i<=e;i++)
if(min>a[i])
min=a[i];
k=i;
return k;
int main()
int i,j;
int n,m;
scanf("%d%d",&n,&m);
for(i=1;i<=n;i++)
scanf("%d",&b[i]);
if(n<=m)//水龙头数多
j=findmax(b,1,n);
printf("%d\n",b[j]);
else//人数多
for(i=1;i<=m;i++)
a[i]=b[i];
for(i=m+1;i<=n;i++)//加入后续打水学生
j=findmin(a,1,m);
a[j]+=b[i];
j=findmax(a,1,m);
printf("%d\n",a[j]);
return 0;
[NOIP2010 普及组] 接水问题
题目链接:https://www.luogu.com.cn/problem/P1190 试题分析:根据题目可以得出,这道题是需要我们模拟接水的全过程的,所以我开了两个数组,一个是正在接水(x),一个是等待接水(w),然后每次遍历正在接水的,如果有某个人接完了水,我们就要让后一个人来代替他继续接水,直
以上是关于noip2010普及组复赛接水问题的主要内容,如果未能解决你的问题,请参考以下文章