65,186
社区成员




# include <cstdio>
using namespace std;
int main()
{
int hour, systolic, diastolic, last_keep = 0, next_keep = 0, not_normal = 0;
//定义hour小时数、systolic收缩压、diastolic舒张压、last_keep和next_keep保持小时数和not_normal不正常小时数整型变量
scanf("%d", &hour); //scanf输入小时数
for (int i = 1; i <= hour; ++i) //利用for循环让用户输入hour遍血压
{
scanf("%d %d", &systolic, &diastolic); //scanf输入收缩压和舒张压
if ((90 <= systolic) && (systolic <= 140) && (60 <= diastolic) && (diastolic <= 90)) //判断血压是否正常
{
if (not_normal == 0) //判断血压是否还没有不正常过
{
last_keep += 1; //(不正常之前的)保持小时数加1
}
else //血压已经不正常过了
{
next_keep += 1; //(不正常之后的)保持小时数加1
if (next_keep > last_keep) //判断新保持小时数是否破纪录了
{
last_keep = next_keep; //更新记录,不管前面的连续保持,以这个新纪录为新起点继续
next_keep = 0; //更新标准后归零
not_normal = 0; //更新标准后归零
}
}
}
else //血压不正常
{
if (not_normal == 0) //判断是不是第一次不正常
{
not_normal += 1; //不正常次数加1
}
}
}
printf("%d\n", last_keep); //printf输出最长纪录
return 0; //结束程序
}
#include <cstdio>
using namespace std;
int main()
{
int a,b,i,n,t,m,j,max=0; //max储存病人血压连续正常的最长小时数
scanf("%d", &n); t=0;
for(i=1;i<=n;++i) //循环判断每个小时中,病人的血压是否正常
{
scanf("%d%d",&a,&b);
if (a>=90&&a<=140&&b>=60&&b<=90)
//判断在i个小时中,病人的血压是否正常
{
t++;
if (t>max) max=t;
}
else t=0; //这个病人血压不正常,则清零t
}
printf("%d\n",max);
return 0;
}