Codeforces Round #398 (Div. 2) B
来源:互联网 发布:贪吃飒淘宝店 编辑:程序博客网 时间:2024/06/06 16:44
题目链接:http://codeforces.com/contest/767/problem/B
题意:给出营业时间段,和服务每个人的时间,以及n个人到店里的时刻,主人公想要排队等待时间最少,求应该到达店里的时刻。
解题方案:n个人排队,一共有n+1个位置可以考虑插入,将n+1分为1+(n-1)+1三段,即分为队首,队伍中间,队尾三段应用贪心的思想来分类讨论。
#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>#include <string>#include <cmath>#include <vector>#include <queue>#include <stack>#include <set>#include <map>using namespace std;#define FOR(i,k,n) for(int i=k;i<n;i++)#define FORR(i,k,n) for(int i=k;i<=n;i++)#define scan(a) scanf("%d",&a)#define scann(a,b) scanf("%d%d",&a,&b)#define scannn(a,b,c) scanf("%d%d%d",&a,&b,&c)#define mst(a,n) memset(a,n,sizeof(a))#define ll long long#define N 100005#define mod 1000000007#define INF 0x3f3f3f3fconst long long MAX=1e12+20;const double eps=1e-8;const double pi=acos(-1.0);ll a[N];int main(){ //freopen("in.txt","r",stdin); //freopen("out.txt","w",stdout); ll s,e,t; cin>>s>>e>>t; int n; cin>>n; for(int i=0;i<n;i++) cin>>a[i]; ll t1=-1,t2=-1,t3=-1; ll ans1=MAX,ans2=MAX,ans3=MAX; if(s-(a[0]-1)>0) { ans1=s-(a[0]-1); t1=a[0]-1; } else { cout<<s<<endl; /*之前输出了a[0]-1,结果WA在最后一组数据,防不胜防啊。。 Input 333 500 5 1 3000 Output 333 */ return 0; } for(int i=0;i<n-1;i++) { if(a[i]+1<a[i+1]) { if(a[i+1]-1+t<=e) { ll tt=a[i+1]-1; if(s+(i+1)*t-tt<ans2) { ans2=s+(i+1)*t-tt; if(ans2<0) ans2=0; t2=tt; if(ans2==0) { cout<<t2<<endl; return 0; } } } else break; } } if(s+n*t+t<=e) { t3=s+n*t; cout<<t3<<endl; return 0; } if(ans1<ans2) cout<<t1<<endl; else cout<<t2<<endl; return 0;}
0 0
- Codeforces Round #398 (Div. 2) B
- 【Codeforces Round #398 (Div. 2)】Codeforces 767B The Queue
- Codeforces Round #398 (Div. 2) B. The Queue
- Codeforces Round #131 (Div. 2) A B
- Codeforces Round #134 (Div. 2)B. Airport
- Codeforces Round #170 (Div. 2) problem B
- Codeforces Round #173 (Div. 2) Problem B
- Codeforces Round #181 (Div. 2) B. Coach
- Codeforces Round #185 (Div. 2)--A,B
- Codeforces Round #171 (Div. 2) B
- Codeforces Round #169 (Div. 2) B题
- Codeforces Round #188 (Div. 2) B题
- Codeforces Round #192 (Div. 2) B
- Codeforces Round #203 (Div. 2) B. Resort
- Codeforces Round #206 (Div. 2) - b
- Codeforces Round #202 (Div. 2)B-贪心
- Codeforces Round #203 (Div. 2)B
- Codeforces Round #203(Div. 2)B. Resort
- Hibernate之单表操作(二)
- ETC-省级密钥
- maven web spring-mvc
- 浮动、定位
- 枚举法——百钱买百鸡
- Codeforces Round #398 (Div. 2) B
- 136. Single Number
- Android实现页面左右切换
- 机器学习实战
- Mybatis 拦截器实现SQL性能监控配置
- 数据库:行存储、列存储
- windows配置PHP的Redis扩展
- 生成单据流水号
- 《智能时代》读书笔记:这是最好的时代,也是最坏的时代