Balanced Team

Balanced Team,第1张

概述https://vjudge.net/problem/CodeForces-1133C 题意:在数组中找出一段  每两个元素差值不大于5的这段元素个数的最大值。 1 #include <iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<algorithm> 5 #include<cstdlib> 6 #in

https://vjudge.net/problem/CodeForces-1133C

题意:在数组中找出一段  每两个元素差值不大于5的这段元素个数的最大值。

 1 #include <iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<algorithm> 5 #include<cstdlib> 6 #include<cmath> 7  8 using namespace std; 9 int main()10 {11     int n;12     int str[200005];13     cin>>n;14     for(int i=0; i<n; i++)15         cin>>str[i];16     sort(str,str+n);17     int t=0;18     int maxx=0;19     for(int i=0; i<n; i++)20     {21         while(t<n&&str[t]-str[i]<=5)22             t++;//注意此处的t值得变化23                     //刚开始我以为是找出一段数组,判断大小,然后跳过这段,后来发现不24                     // 对,因为当a[i]到a[j]这段数组符合条件时,t=j;但是可能a[i+1]到25                     //a[j]、a[j+x]这段也符合条件,但后者的个数更大,所以t的值只能由26                     //while循环改变,因为t始终是大于或等于i的,所以不用担心会出现倚遗27                     //漏的28         maxx=max(t-i,maxx);29     }30     printf("%d",maxx);31     return 0;32 }
VIEw Code 总结

以上是内存溢出为你收集整理的Balanced Team全部内容,希望文章能够帮你解决Balanced Team所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1074303.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存