CodeForces 535C Tavas and Karafs
来源:互联网 发布:dijkstra算法 poj 编辑:程序博客网 时间:2024/06/10 17:24
http://codeforces.com/problemset/problem/535/C
题意 有一个等差数列 从A开始 公差为B 然后n个询问 每个询问给定l,t,m 然后要求如果每次可以最多选择m个数 使这m个数-1 那么在t次操作中可以使l为左端点的最长序列中使所有数为0 输出这个最长序列的右端序号定理 序列h1,h2,...,hn 可以在t次时间内(每次至多让m个元素减少1) 全部减小为0 当且仅当 max(h1, h2, ..., hn) <= t && h1 + h2 + ... + hn <= m*t 那么就可以二分右端点来解决了 下限为l 上限为hi不超过t的最大i#include<stdio.h>#include<string>#include<cstring>#include<queue>#include<algorithm>#include<functional>#include<vector>#include<iomanip>#include<math.h>#include<iostream>#include<sstream>#include<stack>#include<set>#include<bitset>using namespace std;typedef long long LL;LL a, b, n, l, t, m;LL getv(LL p){ return a + (p - 1) * b;}LL getsum(LL r){ return (getv(r) + getv(l)) * (r - l + 1) / 2;}int main(){ cin.sync_with_stdio(false); cin>>a>>b>>n; while(n--) { cin>>l>>t>>m; if(getv(l) > t) cout<<"-1\n"; else { LL le = l, ri = (t - a) / b + 1, mid; while(le <= ri) { mid = (ri + le) / 2; if(getsum(mid) <= t * m) le = mid + 1; else ri = mid - 1; } cout<<le-1<<endl; } } return 0;}
0 0
- Codeforces 535C Tavas and Karafs(二分)
- Codeforces 535C Tavas and Karafs
- Codeforces 535C Tavas and Karafs(二分)
- CodeForces 535C Tavas and Karafs
- CodeForces 535C Tavas and Karafs
- 二分 Tavas and Karafs:CodeForces 535C
- Codeforces 535C : Tavas and Karafs(二分)
- Codeforces 535C Tavas and Karafs(二分)
- CodeForces 535C Tavas and Karafs
- [Codeforces 535B]Tavas and Karafs
- codeforces 299 div 2 (C Tavas and Karafs)
- Codeforces Round #299 (Div. 2) C. Tavas and Karafs
- CodeForces 536A---Tavas and Karafs
- Codeforcess 535C Tavas and Karafs【二分+思维】
- Codeforcess 535C Tavas and Karafs【二分+数据处理】
- Q-Tavas and Karafs
- Codeforces Round #299 (Div. 2)——C. Tavas and Karafs
- Codeforces Round #299 (Div. 2) C. Tavas and Karafs 二分搜索+数列
- OPENGL---Ps 径向模糊算法(glsl)
- IOS Dev Intro - Frameworks
- 0203 - 应用组件 - Activity
- erlang 故障排查工具
- 8大排序之-----(3)选择排序与时间复杂度
- CodeForces 535C Tavas and Karafs
- Spring MVC3 + Velocity设置favicon
- 【BZOJ2756】奇怪的游戏,网络流判断答案
- tar
- Spring的生命周期
- Linux系统调用与文件I/O(一)(2)
- A + B Problem II 大数相加(可以作为模板题)
- Android NestedScrolling机制完全解析 带你玩转嵌套滑动
- XML的特殊字符处理