总时间限制:
1000ms
内存限制:
65536kB
描述
监护室每小时测量一次病人的血压,若收缩压在90 - 140之间并且舒张压在60 - 90之间(包含端点值)则称之为正常,现给出某病人若干次测量的血压值,计算病人保持正常血压的最长小时数。
输入
第一行为一个正整数n,n < 100
其后有n行,每行2个正整数,分别为一次测量的收缩压和舒张压,中间以一个空格分隔。
输出
输出仅一行,血压连续正常的最长小时数。
样例输入
4
100 80
90 50
120 60
140 90
样例输出
2
分析及代码:[作者:徐琰]:
分析:首先要判断一个时段的血压值是否正常,正常则计数,不正常就保留数值后清零,最后数值之间比较大小,就可以输出正常的最大时间段。
#include <iostream>
using namespace std;
bool isnormal(int a,int b)
{
if((a<=140&&a>=90)&&(b>=60&&b<=90))
{
return true;
}
else
return false;
}
int main()
{
int t;
cin>>t;
int sum=0;
int flag=sum;
int a[t],b[t];
for(int i=0;i<t;i++)
{
cin>>a[i]>>b[i];
}
for(int i=0;i<t;i++)
{
if(isnormal(a[i],b[i])==true)
{
sum++;
if(flag<sum)
{
flag=sum;
}
}
else
{
sum=0;
continue;
}
}
cout<<flag<<endl;
return 0;
}