Problem B:化装晚会(usaco月赛)
2017-06-15 13:11
399 查看
Problem B:化装晚会(usaco月赛)Time Limit:1000MS Memory Limit:65536KTotal Submit:162 Accepted:104Description万圣节又到了!Farmer John打算带他的奶牛去参加一个化装晚会,但是,FJ只做了一套能容下两头总长不超过S(1 <= S <= 1,000,000)的牛的恐怖服装。FJ养了N(2 <= N <= 20,000)头按1..N顺序编号的奶牛,编号为i的奶牛的长度为L_i(1 <= L_i <= 1,000,000)。如果两头奶牛的总长度不超过S,那么她们就能穿下这套服装。 FJ想知道,如果他想选择两头不同的奶牛来穿这套衣服,一共有多少种满足条件的方案。 Input输入文件的第1行是 2个用空格隔开的整数:N 和 S, 第2..N+1行每行一个整数:L_iOutput1行: 输出1个整数,表示FJ可选择的所有方案数。注意奶牛顺序不同的两种方案是被视为相同的Sample Input
4 6 3 5 2 1Sample Output
4 输出说明: 4种选择分别为:奶牛1和奶牛3;奶牛1和奶牛4;奶牛2和奶牛4;奶牛3和 奶牛4。
#include<cstdio>#include<algorithm>using namespace std;long long a[20010],s,n;long long check(int b,int c){int low = b,hi = n+1;while(low+1 < hi){int mid =(low + hi)/2;if(a[mid] <= c) low = mid;else hi = mid;}return low - b;}int main(){long long i,ans=0,k;//ans ????scanf("%d%d",&n,&s);//n ?????? s?? ????????for(i=1;i<=n;i++){scanf("%d",&a[i]);}sort(a+1,a+n+1);a[0]=-1;a[n+1]=1000001;for(i=1;i<=n;i++){k=a[i];ans=ans+check(i,s-a[i]);}printf("%d",ans);return 0;}
这道题目算是指针型的二分查找
相关文章推荐
- USACO/costume/化装晚会 [Neal Wu, 2007]
- USACO月赛2017.02 铂金组T3--FRIENDCROSS【CDQ分治】
- POJ - 3045/USACO - Nov05 Silver Cow Acrobats 牛的杂技 重庆一中高2018级竞赛班第四次测试 2016.7.25 Problem 3
- usaco月赛palpath
- USACO月赛题解 第三十讲 动态规划(一)
- usaco 月赛 2008 January Best Cow Line 贝茜的晨练计划 题解
- usaco 月赛 2007 Cow Traffic 题解
- [USACO Jan08] 化装晚会
- bzoj 1600 & Usaco 月赛 2008 建造栅栏 题解
- USACO 2016 US Open Contest, Gold Problem 3. 248
- USACO 月赛 劣质的草 (重庆一中高2018级信息学竞赛测验2) 解题报告
- POJ - 3265/USACO - Jan07 Gold Problem Solving 动态规划(DP) | 对USACO官方题解0ms程序的解释
- USACO月赛2017.02 铂金组T1--MINCROSS
- CSU 1325: A very hard problem 中南月赛的一道题。
- USACO月赛2005 january volume
- POJ - 3622/USACO - Dec07 Gold Gourmet Grazers 挑剔的美食家 重庆一中高2018级竞赛班第五次测试 2016.7.26 Problem 4
- 【USACO月赛】贪心
- 中南大学2012年8月月赛 Problem D: Distribution 求三角形面积
- USACO月赛2017.02 铂金组T2--NOCROSS
- fzu Problem 2138 久违的月赛之一