uva 11627
来源:互联网 发布:windows.old 1 删不掉 编辑:程序博客网 时间:2024/06/01 09:01
二分
#include <cstdio>#include <cstdlib>#include <cmath>#include <map>#include <set>#include <queue>#include <stack>#include <vector>#include <sstream>#include <string>#include <cstring>#include <algorithm>#include <iostream>#define maxn 100010#define INF 0x7fffffff#define inf 10000000#define MOD 1000000007#define ull unsigned long long#define ll long longusing namespace std;struct node{ int x, y;};node houge[maxn];int n, v, w, s[maxn*10], m;bool ok(int mid){ double st = houge[0].x, en = houge[0].x+w; for(int i = 1; i < n; ++ i) { double len = (double)(houge[i].y-houge[i-1].y)/s[mid]*v; st -= len; en += len; st = max(st, (double)houge[i].x); en = min(en, (double)houge[i].x+w); if(st > en+1e-6) return false; } return true;}int solve(){ int ans = -1; int rig = 0, le = m; while(rig < le) { int mid = rig + (le-rig)/2; if(ok(mid)) { rig = mid+1; ans = mid; } else le = mid; } return ans;}int main(){ int t; scanf("%d", &t); while(t --) { scanf("%d%d%d", &w, &v, &n); for(int i = 0; i < n; ++ i) scanf("%d%d", &houge[i].x, &houge[i].y);; scanf("%d", &m); for(int i = 0; i < m; ++ i) scanf("%d", &s[i]); sort(s, s+m); int ans = solve(); if(ans != -1) printf("%d\n", s[ans]); else puts("IMPOSSIBLE"); } return 0;}
0 0
- uva 11627
- uva 11627 Slalom
- Uva-11627-Slalom
- UVA - 11627 Slalom
- uva 11627 Slalom
- UVA - 11627 Slalom 二分
- uva 11627(二分)
- UVA - 11627 - Slalom(二分法)
- UVA - 11627 Slalom
- UVA 11627(p80)----Slalom
- UVA 11627 Slalom(二分)
- uva
- UVA
- UVA
- UVA
- uva
- UVA
- UVA
- UVA - 11488 Hyper Prefix Sets
- Java Web中web.xml文件的作用
- BLL 、DAL、MODEL三层架构+UI
- 浅谈数据质量管理
- 杂记
- uva 11627
- 新浪微博Oauth2.0授权 获取Access Token以及API的使用
- Stanford - Cryptography I - Week 1-1 Programming Assignment
- 新闻去重算法的设计和实现
- service--取得运行的Activity
- Set Off
- php有点进入状态了
- 面试题:const、static、sizeof
- LaTeX的BibTeX引用网页的办法