第十一届北京师范大学程序设计竞赛(网络同步赛)+沙漠之旅
2013-05-01 11:15
344 查看
沙漠之旅
/* 思路: 由于直接穷举4个循环肯定会超时,于是把四桶油分为两组 先把两桶油之和穷举出来放在b[]中,要求的问题就变为在b[]中找出两个元素,其和为l-x。用二分查找即可。 */ #include<iostream> using namespace std; int cmp ( const void * a , const void * b ){ return *(int * ) a- * ( int * ) b; } int main() { int t; cin>>t; while(t--){ int l,x,n; cin >> l >> x >> n; int i , j; int a[1002] , b[1002] , k = 0 ; for ( i = 0 ; i < n; i ++){ cin >> a[i]; } for( i =0 ; i < n ; i ++) for( j =0 ; j< n ; j ++) if( (a[i] + a[j] ) <= ( l -x )) b[k++] = a[i] + a[j] ; qsort( b , n , sizeof(b[0]) , cmp); for( i =0 ; i < k ; i++) { int low = 0 ,heigh = k - 1 , mid , l1 = l - ( x + b[i] ); while( low <= heigh ) { mid = ( low + heigh ) / 2 ; if( b[mid] < l1 ) low = mid + 1 ; else heigh = mid + 1 ; } if( b[mid] = l1 ){ cout << "YES" << endl ; break; } } if( i >= k ) cout << "NO" << endl ; } return 0; } /* 思路: 由于直接穷举4个循环肯定会超时,于是把四桶油分为两组 先把两桶油之和穷举出来放在b中,要求的问题就变为在b中找出两个元素,其和为l-x。用二分查找即可。 */ #include<iostream> #include<vector> #include<algorithm> using namespace std; int main() { int t; cin >> t; while( t -- ){ int i , l , x , n , a[1005] ; cin >> l >> x >> n ; for( i = 0 ; i < n ; i ++) cin >> a[i] ; vector<int>b; for( i = 0 ;i < n ; i ++ ) for( int j = 0 ; j < n ; j ++) if( ( a[i] + a[j] ) < ( l -x)) b.push_back ( a[i] + a[j] ) ; sort(b.begin() , b.end() ); for( i = 0 ; i < b.size() ; i ++) { if(binary_search(b.begin(), b.end(), l-x-b[i]) ) break; } if(i < b.size() ) cout << "YES" << endl ; else cout << "NO" << endl ; } return 0; }
相关文章推荐
- 第十一届北京师范大学程序设计竞赛(网络同步赛)+Adidas and adivon
- 第十一届北京师范大学程序设计竞赛(网络同步赛)+H. 硬币水题II
- 第十一届北京师范大学程序设计竞赛(网络同步赛)+A. BNU ACM校队时间安排表
- 第十五届北京师范大学程序设计竞赛决赛(网络同步赛)
- 第十五届北京师范大学程序设计竞赛决赛(网络同步赛)
- 第十五届北京师范大学程序设计竞赛决赛(网络同步赛)
- 2017年西南民族大学程序设计竞赛-网络同步赛 A 星图【思维维护】
- 北航程序设计竞赛决赛网络同步赛 A 浪哥的烦恼 dp or 母函数
- 第十一届北京师范大学程序设计竞赛解题报告
- 第十二届北航程序设计竞赛决赛网络同步赛: 浪哥的烦恼
- 杭州电子科技大学程序设计竞赛(2016’12)- 网络同步赛
- 北航第十一届程序设计竞赛网络预赛题解
- 2012年北京师范大学新生程序设计竞赛网络赛
- 2017年西南民族大学程序设计竞赛-网络同步赛
- 杭州电子科技大学程序设计竞赛(2016’12)- 网络同步赛 1007
- 2013年北京师范大学新生程序设计竞赛网络赛--D. Number theory
- 【2017年西南民族大学程序设计竞赛-网络同步赛】A C D E I J
- 2013年北京师范大学新生程序设计竞赛网络赛--E. 干了这桶冰红茶!
- 第九届北京化工大学程序设计竞赛网络同步赛 A (搜索)
- 2017年西南民族大学程序设计竞赛-网络同步赛