Codeforces_729_C
Posted 冷暖知不知
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Codeforces_729_C相关的知识,希望对你有一定的参考价值。
http://codeforces.com/problemset/problem/729/C
二分找最小容量,然后找符合的最小花费。
#include<iostream> #include<cstring> #include<cstdio> #include<algorithm> using namespace std; int n,k,s,t,c[200005],v[200005],g[200005]; bool f(int x) { int tt = 0; for(int i = 1;i <= k+1;i++) { int temp = g[i]-g[i-1]; if(x < temp) return 0; if(x >= temp*2) tt += temp; else tt += 3*temp-x; } if(tt > t) return 0; return 1; } int main() { scanf("%d%d%d%d",&n,&k,&s,&t); for(int i = 1;i <= n;i++) scanf("%d%d",&c[i],&v[i]); for(int i = 1;i <= k;i++) scanf("%d",&g[i]); sort(g+1,g+1+k); g[k+1] = s; g[0] = 0; int l = 0,r = 1e9+1; while(l < r) { int mid = (l+r)/2; if(f(mid)) r = mid; else l = mid+1; } int ans = 1e9+1; for(int i = 1;i <= n;i++) { if(v[i] >= l) ans = min(ans,c[i]); } if(ans == 1e9+1) printf("-1\n"); else printf("%d\n",ans); return 0; }
以上是关于Codeforces_729_C的主要内容,如果未能解决你的问题,请参考以下文章
Codeforces Round #729 (Div. 2) D. Priority Queue(简单dp)
Codeforces Round #729 (Div. 2) C. Strange Function(lcm,简单容斥)
Codeforces 729CRoad to Cinema(二分)
Codeforces Round #729 (Div. 2) C(数学)