蒟蒻求助,60分,大佬救救QAQ
查看原帖
蒟蒻求助,60分,大佬救救QAQ
590329
Tom12138楼主2022/8/25 18:46

5678过不了,也想不到什么能测出问题的测试集了

#include<stdio.h>
int main()
{
    long int n,add=0,l=99999999,r=-1,a,ans=0,num=0;//n表示奶牛头数,ans即answer指最终答案
	//a指当前奶牛的身高,num指当前符合题意的奶牛的数量
	//l,r分别指当前这一对奶牛中最矮的和最高的
	//add指当前在r后面读入且不大于r的奶牛数目(就是说如果有比r高的,就将add和num相加得到新的num) 
    scanf("%ld", &n);//读入奶牛数 
    for (int i = 1; i <= n;i++){
        scanf("%ld", &a);
        if(a>l&&a<=r) add++;
        if(a<=l){//如果小于l 
            l = a;//a成为新的l 
            if(ans<num)
            	ans = num;
            num = 0;//其他数据重置,从这里开始新的计数 
            add=0;
            r = -1;
            continue;
        }
        if(a>r){//出现新的最高奶牛 
        	num++;
            r = a;//a成为新的r 
            num += add;//num和add相加,得到整个奶牛队长度 
            add = 0;
        	if(ans<num)
            	ans = num;
            continue;
        }
    }
    if(ans) printf("%ld", ans+1);
    else printf("0");
    return 0;
}
2022/8/25 18:46
加载中...